nmdc-runtime 2.0.0__tar.gz → 2.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nmdc-runtime might be problematic. Click here for more details.

Files changed (533) hide show
  1. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.env.example +3 -1
  2. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.env.test +3 -1
  3. nmdc_runtime-2.1.0/.github/pull_request_template.md +108 -0
  4. {nmdc_runtime-2.0.0/nmdc_runtime.egg-info → nmdc_runtime-2.1.0}/PKG-INFO +4 -2
  5. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/README.md +3 -1
  6. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/.notebook.env.example +6 -0
  7. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/helpers.py +119 -4
  8. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_10_9_1_to_11_0_0.ipynb +96 -102
  9. nmdc_runtime-2.1.0/demo/metadata_migration/notebooks/migrate_11_0_3_to_11_1_0.ipynb +880 -0
  10. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/requirements.txt +1 -1
  11. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/test_helpers.py +61 -18
  12. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docker-compose.test.yml +0 -2
  13. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docker-compose.yml +0 -2
  14. nmdc_runtime-2.1.0/docs/img/exporters-dagit.png +0 -0
  15. nmdc_runtime-2.1.0/docs/img/translators-dagit.png +0 -0
  16. nmdc_runtime-2.1.0/docs/tutorials/exporters.md +27 -0
  17. nmdc_runtime-2.1.0/docs/tutorials/translators.md +42 -0
  18. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/mkdocs.yml +2 -0
  19. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/core/auth.py +1 -1
  20. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/core/metadata.py +4 -0
  21. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/find.py +75 -25
  22. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/nmdcschema.py +11 -1
  23. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/queries.py +2 -2
  24. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/ops.py +1 -0
  25. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/gold_translator.py +11 -5
  26. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/submission_portal_translator.py +18 -4
  27. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/translator.py +9 -2
  28. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0/nmdc_runtime.egg-info}/PKG-INFO +4 -2
  29. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime.egg-info/SOURCES.txt +8 -0
  30. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/requirements/dev.txt +55 -37
  31. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/requirements/main.in +1 -1
  32. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/requirements/main.txt +66 -69
  33. nmdc_runtime-2.1.0/tests/files/nmdc_bsm-11-0pyv7738.json +53 -0
  34. nmdc_runtime-2.1.0/tests/files/test_changesheet_decimal_value.tsv +5 -0
  35. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_api/test_metadata.py +28 -2
  36. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/test_submission_portal_translator.py +1 -1
  37. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/test_submission_portal_translator_data.yaml +6 -2
  38. nmdc_runtime-2.1.0/tests/test_data/test_translator.py +25 -0
  39. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_ops/test_ops.py +2 -2
  40. nmdc_runtime-2.0.0/.github/pull_request_template.md +0 -37
  41. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.dockerignore +0 -0
  42. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  43. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  44. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.github/workflows/build-and-release-to-spin.yml +0 -0
  45. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.github/workflows/lint.yml +0 -0
  46. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.github/workflows/mkdocs.yml +0 -0
  47. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.github/workflows/python-app.yml +0 -0
  48. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.github/workflows/release-to-pypi.yml +0 -0
  49. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.gitignore +0 -0
  50. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.gitpod.Dockerfile +0 -0
  51. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.gitpod.yml +0 -0
  52. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/.nvmrc +0 -0
  53. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/LICENSE +0 -0
  54. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/Makefile +0 -0
  55. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/RELEASES.md +0 -0
  56. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/components/nmdc_runtime/workflow/__init__.py +0 -0
  57. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/components/nmdc_runtime/workflow/spec.py +0 -0
  58. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/components/nmdc_runtime/workflow_execution_activity/__init__.py +0 -0
  59. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/components/nmdc_runtime/workflow_execution_activity/core.py +0 -0
  60. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/components/nmdc_runtime/workflow_execution_activity/spec.py +0 -0
  61. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/components/nmdc_runtime/workflow_execution_activity/store.py +0 -0
  62. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_discovery/.env.example +0 -0
  63. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_discovery/GOLDs5levelEcosystemClassificationPaths.xlsx +0 -0
  64. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_discovery/biosamples.json +0 -0
  65. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_discovery/console_queries.dev +0 -0
  66. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_discovery/docker-compose.yml +0 -0
  67. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_discovery/envo.owl +0 -0
  68. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_discovery/indexing.ipynb +0 -0
  69. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_discovery/po.owl +0 -0
  70. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/__init__.py +0 -0
  71. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/main.ipynb +0 -0
  72. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/main.py +0 -0
  73. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/.gitignore +0 -0
  74. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/bookkeeper.py +0 -0
  75. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/manual_test_bookkeeper.py +0 -0
  76. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_10_0_0_to_10_1_4.ipynb +0 -0
  77. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_10_3_0_to_10_4_0.ipynb +0 -0
  78. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_10_4_0_to_10_9_1.ipynb +0 -0
  79. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_11_0_0_to_11_0_1.ipynb +0 -0
  80. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_7_7_2_to_7_8_0.ipynb +0 -0
  81. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_7_8_0_to_8_0_0.ipynb +0 -0
  82. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_8_0_0_to_8_1_2.ipynb +0 -0
  83. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_8_1_2_to_9_0_4.ipynb +0 -0
  84. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_9_0_4_to_9_1_0.ipynb +0 -0
  85. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_9_1_0_to_9_2_0.ipynb +0 -0
  86. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_9_3_2_to_10_0_0.ipynb +0 -0
  87. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/migrate_A_B_C_to_X_Y_Z.ipynb +0 -0
  88. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/mongosh-scripts/restore-privileges.mongo.js +0 -0
  89. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/mongosh-scripts/revoke-privileges.mongo.js +0 -0
  90. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/demo/metadata_migration/notebooks/stakeholders.md +0 -0
  91. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/admin.md +0 -0
  92. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/contributing-docs.md +0 -0
  93. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/draft.md +0 -0
  94. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/explanation/domain-vision-statement.md +0 -0
  95. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/explanation/identifiers.md +0 -0
  96. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/explanation/journeys.md +0 -0
  97. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/howto-guides/author-changesheets.md +0 -0
  98. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/howto-guides/claim-and-run-jobs.md +0 -0
  99. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/howto-guides/create-triggers.md +0 -0
  100. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/howto-guides/improving-search-api.md +0 -0
  101. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/howto-guides/jobs/gold-translation-etl.md +0 -0
  102. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/howto-guides/release-process.md +0 -0
  103. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/howto-guides/update-sensors-ops.md +0 -0
  104. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/auth-button.png +0 -0
  105. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/auth-client-id.png +0 -0
  106. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/auth-close-modal.png +0 -0
  107. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/auth-username.png +0 -0
  108. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/dagit-apply-changesheet-job.png +0 -0
  109. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/dagster-translation-gold-job.png +0 -0
  110. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/dagster-translation-gold-launchpad.png +0 -0
  111. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/dagster-translation-gold-overview.png +0 -0
  112. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/dagster-translation-repo-jobs.png +0 -0
  113. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/dagster-workspace-repo-loaded.png +0 -0
  114. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/job-triggering.png +0 -0
  115. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/list-from-collection-filter.png +0 -0
  116. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/list-from-collection-page-token.png +0 -0
  117. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/list-from-collection.png +0 -0
  118. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/metadata-in-dagit-runs.png +0 -0
  119. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/metadata-in-put-types.png +0 -0
  120. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/nmdc-runtime-federation.png +0 -0
  121. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/rancher-nmdc-runtime-dev-workloads.png +0 -0
  122. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/validate-json-copy-paste-execute.png +0 -0
  123. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/validate-json-get-one-valid.png +0 -0
  124. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/validate-json-response.png +0 -0
  125. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/validate-json-try-it-out.png +0 -0
  126. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/img/validate-json.png +0 -0
  127. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/index.md +0 -0
  128. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/nb/bulk_validation_referential_integrity_check.ipynb +0 -0
  129. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/nb/get_data.ipynb +0 -0
  130. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/nb/queue_and_trigger_data_jobs.ipynb +0 -0
  131. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/nb/wf_automation.ipynb +0 -0
  132. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/stylesheets/extra.css +0 -0
  133. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/tutorials/auth.md +0 -0
  134. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/tutorials/json.md +0 -0
  135. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs/tutorials/metadata-in.md +0 -0
  136. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs_prev/design/api-resource-diagram.md +0 -0
  137. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs_prev/design/api-resource-layout.md +0 -0
  138. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs_prev/design/nmdc-runtime-api-resource-diagram.png +0 -0
  139. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs_prev/design/nmdc-wfe.ttl +0 -0
  140. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs_prev/design/redoc-static.html +0 -0
  141. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs_prev/design/spec.md +0 -0
  142. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs_prev/design/workflow-automation.md +0 -0
  143. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/docs_prev/index.html +0 -0
  144. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/flake.lock +0 -0
  145. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/flake.nix +0 -0
  146. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/github_secrets_to_dotenv.sh +0 -0
  147. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/guix-manifest.scm +0 -0
  148. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/Makefile +0 -0
  149. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/README.md +0 -0
  150. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/__init__.py +0 -0
  151. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/Froze_Core_2015_S2_0_10_7_Metab.json +0 -0
  152. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/MAGs_activity.json +0 -0
  153. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/biosample_test.json +0 -0
  154. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/changesheet-ex-01-screenshot.png +0 -0
  155. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/changesheet-ex-01.csv +0 -0
  156. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/emsl_data_object_test.json +0 -0
  157. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/emsl_project_test.json +0 -0
  158. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/feature-set.json +0 -0
  159. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/ftms_nom_data_products.json +0 -0
  160. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/functional-annotation.json +0 -0
  161. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/gcms_metabolomics_data_products.json +0 -0
  162. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/gold_project_test.json +0 -0
  163. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/img_mg_annotation_data_objects.json +0 -0
  164. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/img_mg_annotation_objects.json +0 -0
  165. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/metagenome_annotation_activity.json +0 -0
  166. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/mg_assembly_activities_test.json +0 -0
  167. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/mg_assembly_data_objects_test.json +0 -0
  168. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/migs-template-cedar.schema.json +0 -0
  169. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/nom_analysis_activity.json +0 -0
  170. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/readQC_activities_test.json +0 -0
  171. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/readQC_data_objects_test.json +0 -0
  172. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/read_based_analysis_activity.json +0 -0
  173. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/examples/study_test.json +0 -0
  174. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/images/nmdc-etl-workflow.drawio +0 -0
  175. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/images/nmdc-etl-workflow.png +0 -0
  176. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/images/nmdc-etl-workflow.svg +0 -0
  177. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/Description_MIxS_Packages_v5.docx +0 -0
  178. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/GOLD-Paths-to-MIxS-ENVO-triad-mapping.xlsx +0 -0
  179. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSair_20180621_GOLD_Mapping_04132020.xlsx +0 -0
  180. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSbuiltenv_20180621_GOLD_Mapping_04172020.xlsx +0 -0
  181. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxShostassoc_20180621_GOLD_Mapping.xlsx +0 -0
  182. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxShumanassoc_20180621_GOLD_Mapping_04142020.xlsx +0 -0
  183. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxShumangut_20180621_GOLD_Mapping_04152020.xlsx +0 -0
  184. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxShumanoral_20180621_GOLD_Mapping_04152020.xlsx +0 -0
  185. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxShumanskin_20180621_GOLD_Mapping_04162020.xlsx +0 -0
  186. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxShumanvaginal_20180621_GOLD_04162020.xlsx +0 -0
  187. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxShydrocarbCores_20180621_Mapping_GOLD.xlsx +0 -0
  188. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxShydrocarbfs_20180621_v5_GOLD_Mapping.xlsx +0 -0
  189. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSmatbiofilm_20180621_v5_GOLD_Mapping.xlsx +0 -0
  190. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSmisc_20180621_GOLD_Mapping.xlsx +0 -0
  191. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSplantassoc_20180621_v5_GOLD_Mapping.xlsx +0 -0
  192. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSsediment_20180621_GOLD_Mapping_04102020.xlsx +0 -0
  193. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSsoil_20180621_GOLD_Mapping_04102020.xlsx +0 -0
  194. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSwastesludge_20180621_GOLD_Mapping_Apr-10.xlsx +0 -0
  195. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/MIxSwater_20180621_GOLD_Mapping_04122020.xlsx +0 -0
  196. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/Makefile +0 -0
  197. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/README.md +0 -0
  198. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/mixs_v4.xlsx +0 -0
  199. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/mapping-files/mixs_v5.xlsx +0 -0
  200. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/202106_curation_updates.ipynb +0 -0
  201. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/202106_workflow_execution_demo.ipynb +0 -0
  202. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/202109_metadata_ingest.ipynb +0 -0
  203. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/NMDC-GOLD-data-counts.ipynb +0 -0
  204. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/README.md +0 -0
  205. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/archive/generate-gold-sample-json.ipynb +0 -0
  206. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/archive/translate-30_FICUS_Proposals_Metadata_4_Emiley_Chris_11082019.ipynb +0 -0
  207. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/changesheets-example.ipynb +0 -0
  208. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/changesheets-testing.ipynb +0 -0
  209. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-array-item-nested-attributes.tsv +0 -0
  210. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-insert.tsv +0 -0
  211. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-remove-item.tsv +0 -0
  212. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-remove-property.tsv +0 -0
  213. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-replace.tsv +0 -0
  214. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-update-pi-websites.tsv +0 -0
  215. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-with-separator1.tsv +0 -0
  216. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-without-separator1.tsv +0 -0
  217. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-without-separator2.tsv +0 -0
  218. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/changesheet-without-separator3.tsv +0 -0
  219. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/study-data1.json +0 -0
  220. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/study-data2.json +0 -0
  221. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/data/study-data3.json +0 -0
  222. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/ensure_biosample_set_study_id.ipynb +0 -0
  223. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/ghissue_252_253_linked_samples.ipynb +0 -0
  224. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/ghissue_255.ipynb +0 -0
  225. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/ghissue_272.ipynb +0 -0
  226. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/gold-biosample-null-value-analysis.ipynb +0 -0
  227. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/gold_ids_to_igsns.ipynb +0 -0
  228. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/images/EMSL-data-translation.png +0 -0
  229. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/images/GOLD-data-objects-translation.png +0 -0
  230. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/images/GOLD-study-project-biosample-translation.png +0 -0
  231. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/images/NMDC-jupyter-translation-workflow.png +0 -0
  232. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/metaP_stegen.ipynb +0 -0
  233. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/metadata_db_admin.ipynb +0 -0
  234. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/mongo_etl_demo.ipynb +0 -0
  235. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/FICUS-projects-merged.owl +0 -0
  236. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/FICUS-projects-merged.owl.zip +0 -0
  237. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/FICUS-projects-translation.owl +0 -0
  238. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/catalog-v001.xml +0 -0
  239. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/gold-classification-paths-translation.json +0 -0
  240. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/gold-classification-paths-translation.json.zip +0 -0
  241. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/gold-classification-paths-translation.owl +0 -0
  242. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/gold-classification-paths-translation.owl.zip +0 -0
  243. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/gold-dataset-translation.owl +0 -0
  244. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json/biosample.json +0 -0
  245. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json/data_objects.json +0 -0
  246. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json/omics_processing.json +0 -0
  247. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json/study.json +0 -0
  248. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-01.zip +0 -0
  249. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-05.zip +0 -0
  250. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-06.zip +0 -0
  251. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-12.zip +0 -0
  252. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-18.zip +0 -0
  253. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/nmdc-json_2020-02-19.zip +0 -0
  254. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/schema-test-full.txt.zip +0 -0
  255. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/schema-test.json +0 -0
  256. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/schema-test.txt +0 -0
  257. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/schema-test.txt.zip +0 -0
  258. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/temp.txt +0 -0
  259. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-five-biosamples/biosample.json +0 -0
  260. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-five-biosamples/data_object.json +0 -0
  261. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-five-biosamples/project.json +0 -0
  262. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-five-biosamples/study.json +0 -0
  263. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-pipeline/biosample.json +0 -0
  264. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-pipeline/emsl_data_objects.json +0 -0
  265. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-pipeline/emsl_omics_processing.json +0 -0
  266. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-pipeline/faa_fna_fastq_data_objects.json +0 -0
  267. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-pipeline/gold_omics_processing.json +0 -0
  268. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-pipeline/gold_study.json +0 -0
  269. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-pipeline/nmdc-02.json +0 -0
  270. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/output/test-pipeline.zip +0 -0
  271. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/test-changesheet-with-separator.ipynb +0 -0
  272. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/test-changesheet-without-separator.ipynb +0 -0
  273. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/test-output.ipynb +0 -0
  274. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/test-pipeline-scratch.ipynb +0 -0
  275. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/test-pipeline-temp.ipynb +0 -0
  276. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/test-pipeline.ipynb +0 -0
  277. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/test.json +0 -0
  278. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/test.txt +0 -0
  279. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/translate-EMSL-data.ipynb +0 -0
  280. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/translate-GOLD-data-objects.ipynb +0 -0
  281. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/translate-GOLD-study-project-biosample.ipynb +0 -0
  282. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/notebooks/translation-pipeline.ipynb +0 -0
  283. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/__init__.py +0 -0
  284. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/__init__.py +0 -0
  285. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/align_nmdc_datatypes.py +0 -0
  286. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/execute_etl_pipeline.py +0 -0
  287. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/fix_omics_processing_json.py +0 -0
  288. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/lib/__init__.py +0 -0
  289. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/lib/data_operations.py +0 -0
  290. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/lib/extract_nmdc_data.py +0 -0
  291. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/lib/load_nmdc_data.py +0 -0
  292. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/lib/nmdc_data_source.yaml +0 -0
  293. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/lib/nmdc_dataframes.py +0 -0
  294. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/lib/nmdc_etl_class.py +0 -0
  295. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/lib/transform_nmdc_data.py +0 -0
  296. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/mandatory_mixs_terms.py +0 -0
  297. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/mandatory_mixs_terms.py.org +0 -0
  298. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/bin/validate_json.py +0 -0
  299. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/2020-23-12-brodie-Gs0135149-soil-metadata.csv +0 -0
  300. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/2021-02-03-stegen_biosample_linking_update.csv +0 -0
  301. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/2021-02-04-brodie_biosample_linking_update.csv +0 -0
  302. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/2021-02-04-stegen_biosample_template.json +0 -0
  303. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/2021-07-02-study-changes.csv +0 -0
  304. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/30_FICUS_Proposals_Metadata_4_Emiley_Chris_11082019.xlsx +0 -0
  305. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/EMSL_FICUS_project_process_data_export.xlsx +0 -0
  306. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/EMSL_Hess_Stegen_Blanchard_DatasetToMetagenomeMapping.tsv +0 -0
  307. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/EMSL_biosample_matches.tsv +0 -0
  308. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/FICUS - JGI-EMSL Proposal - Gold Study - ID mapping and PI.xlsx +0 -0
  309. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/GOLD-soil-mixs-envo-mappings.tsv +0 -0
  310. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/GOLD-to-mixs-map.tsv +0 -0
  311. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/GOLD_Ecosystem_Classification_Paths_10152019.xlsx +0 -0
  312. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/GOLD_ecosystem_classification_paths.xlsx +0 -0
  313. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/JGI-EMSL-FICUS-proposals.fnl.tsv +0 -0
  314. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/NMDC-GOLD-Fields.xlsx +0 -0
  315. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/README.md +0 -0
  316. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/__init__.py +0 -0
  317. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/Hess_emsl_analysis_data_objects.json +0 -0
  318. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/Hess_metaproteomic_analysis_activities.json +0 -0
  319. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/Stegen_emsl_analysis_data_objects.json +0 -0
  320. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/Stegen_metaproteomic_analysis_activities.json +0 -0
  321. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/metagenome_annotation_activities.json +0 -0
  322. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/metagenome_annotation_data_objects.json +0 -0
  323. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/metagenome_assembly_activities.json +0 -0
  324. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/metagenome_assembly_data_objects.json +0 -0
  325. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/readQC_activities.json +0 -0
  326. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/aim-2-workflows/readQC_data_objects.json +0 -0
  327. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/all_gold_fields.xlsx +0 -0
  328. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/ficus_project_faa.tsv +0 -0
  329. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/ficus_project_fastq.tsv +0 -0
  330. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/ficus_project_fna.tsv +0 -0
  331. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/mixs_v5.xlsx +0 -0
  332. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/nmdc-version2.zip +0 -0
  333. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/metadata-translation/src/data/nmdc-version5.zip +0 -0
  334. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/mkdocs_overrides/partials/source.html +0 -0
  335. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/mongoKeyFile +0 -0
  336. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nersc-sshproxy.sh +0 -0
  337. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc-wfe.html +0 -0
  338. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/__init__.py +0 -0
  339. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/analytics.py +0 -0
  340. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/boot/__init__.py +0 -0
  341. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/boot/capabilities.py +0 -0
  342. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/boot/object_types.py +0 -0
  343. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/boot/triggers.py +0 -0
  344. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/boot/workflows.py +0 -0
  345. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/core/__init__.py +0 -0
  346. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/core/idgen.py +0 -0
  347. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/core/util.py +0 -0
  348. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/db/__init__.py +0 -0
  349. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/db/mongo.py +0 -0
  350. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/db/s3.py +0 -0
  351. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/__init__.py +0 -0
  352. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/capabilities.py +0 -0
  353. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/ids.py +0 -0
  354. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/jobs.py +0 -0
  355. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/metadata.py +0 -0
  356. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/object_types.py +0 -0
  357. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/objects.py +0 -0
  358. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/operations.py +0 -0
  359. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/runs.py +0 -0
  360. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/search.py +0 -0
  361. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/sites.py +0 -0
  362. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/triggers.py +0 -0
  363. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/users.py +0 -0
  364. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/util.py +0 -0
  365. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/endpoints/workflows.py +0 -0
  366. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/entrypoint.sh +0 -0
  367. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/main.py +0 -0
  368. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/__init__.py +0 -0
  369. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/capability.py +0 -0
  370. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/id.py +0 -0
  371. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/job.py +0 -0
  372. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/metadata.py +0 -0
  373. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/minter.py +0 -0
  374. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/nmdc_schema.py +0 -0
  375. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/object.py +0 -0
  376. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/object_type.py +0 -0
  377. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/operation.py +0 -0
  378. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/query.py +0 -0
  379. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/run.py +0 -0
  380. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/site.py +0 -0
  381. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/trigger.py +0 -0
  382. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/user.py +0 -0
  383. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/util.py +0 -0
  384. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/models/workflow.py +0 -0
  385. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/api/v1/router.py +0 -0
  386. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/client/__init__.py +0 -0
  387. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/config.py +0 -0
  388. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/containers.py +0 -0
  389. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/core/__init__.py +0 -0
  390. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/core/db/Database.py +0 -0
  391. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/core/db/__init__.py +0 -0
  392. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/core/exceptions/__init__.py +0 -0
  393. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/core/exceptions/base.py +0 -0
  394. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/core/exceptions/token.py +0 -0
  395. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/dagster.Dockerfile +0 -0
  396. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/domain/__init__.py +0 -0
  397. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/domain/users/__init__.py +0 -0
  398. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/domain/users/queriesInterface.py +0 -0
  399. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/domain/users/userSchema.py +0 -0
  400. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/domain/users/userService.py +0 -0
  401. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/fastapi.Dockerfile +0 -0
  402. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/__init__.py +0 -0
  403. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/database/__init__.py +0 -0
  404. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/database/db.py +0 -0
  405. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/database/impl/mongo/__init__.py +0 -0
  406. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/database/impl/mongo/db.py +0 -0
  407. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/database/impl/mongo/models/__init__.py +0 -0
  408. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/database/impl/mongo/models/user.py +0 -0
  409. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/database/models/__init__.py +0 -0
  410. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/infrastructure/database/models/user.py +0 -0
  411. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/lib/__init__.py +0 -0
  412. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/lib/extract_nmdc_data.py +0 -0
  413. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/lib/load_nmdc_data.py +0 -0
  414. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/lib/nmdc_data_source.yaml +0 -0
  415. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/lib/nmdc_dataframes.py +0 -0
  416. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/lib/nmdc_etl_class.py +0 -0
  417. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/lib/transform_nmdc_data.py +0 -0
  418. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/main.py +0 -0
  419. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/__init__.py +0 -0
  420. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/adapters/__init__.py +0 -0
  421. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/adapters/repository.py +0 -0
  422. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/bootstrap.py +0 -0
  423. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/config.py +0 -0
  424. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/domain/__init__.py +0 -0
  425. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/domain/model.py +0 -0
  426. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/entrypoints/__init__.py +0 -0
  427. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/minter/entrypoints/fastapi_app.py +0 -0
  428. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/__init__.py +0 -0
  429. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/backup/__init__.py +0 -0
  430. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/backup/nmdcdb_mongodump.py +0 -0
  431. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/backup/nmdcdb_mongoexport.py +0 -0
  432. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/backup/nmdcdb_mongoimport.py +0 -0
  433. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/changesheets/__init__.py +0 -0
  434. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/changesheets/base.py +0 -0
  435. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/changesheets/data/OmicsProcessing-to-catted-Biosamples.tsv +0 -0
  436. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/changesheets/scripts/missing_neon_soils_ecosystem_data.py +0 -0
  437. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/changesheets/scripts/neon_soils_add_ncbi_ids.py +0 -0
  438. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/dagster.yaml +0 -0
  439. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/drsobjects/__init__.py +0 -0
  440. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/drsobjects/ingest.py +0 -0
  441. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/drsobjects/registration.py +0 -0
  442. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/entrypoint-daemon.sh +0 -0
  443. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/entrypoint-dagit-readonly.sh +0 -0
  444. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/entrypoint-dagit.sh +0 -0
  445. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/export/__init__.py +0 -0
  446. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/export/ncbi_xml.py +0 -0
  447. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/export/ncbi_xml_utils.py +0 -0
  448. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/export/study_metadata.py +0 -0
  449. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/graphs.py +0 -0
  450. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/normalization/__init__.py +0 -0
  451. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/normalization/gold.py +0 -0
  452. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/repository.py +0 -0
  453. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/resources.py +0 -0
  454. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/__init__.py +0 -0
  455. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/emsl.py +0 -0
  456. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/gold.py +0 -0
  457. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/jgi.py +0 -0
  458. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/neon_benthic_translator.py +0 -0
  459. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/neon_soil_translator.py +0 -0
  460. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/neon_surface_water_translator.py +0 -0
  461. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/neon_utils.py +0 -0
  462. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/translation/util.py +0 -0
  463. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/util.py +0 -0
  464. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/validation/__init__.py +0 -0
  465. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/validation/emsl.py +0 -0
  466. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/validation/gold.py +0 -0
  467. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/validation/jgi.py +0 -0
  468. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/validation/util.py +0 -0
  469. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/site/workspace.yaml +0 -0
  470. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/static/ORCIDiD_icon128x128.png +0 -0
  471. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/static/favicon.ico +0 -0
  472. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/templates/pipeline_search.html +0 -0
  473. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/templates/search.html +0 -0
  474. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/test.Dockerfile +0 -0
  475. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime/util.py +0 -0
  476. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime.egg-info/dependency_links.txt +0 -0
  477. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime.egg-info/entry_points.txt +0 -0
  478. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/nmdc_runtime.egg-info/top_level.txt +0 -0
  479. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/requirements/dev.in +0 -0
  480. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/setup.cfg +0 -0
  481. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/setup.py +0 -0
  482. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tasks.py +0 -0
  483. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/__init__.py +0 -0
  484. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/conftest.py +0 -0
  485. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/e2e/test_minter_api.py +0 -0
  486. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/nmdc_bsm-11-5nhz3402.json +0 -0
  487. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/nmdc_bsm-12-7mysck21.json +0 -0
  488. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/nmdc_dobj-11-000n1286.json +0 -0
  489. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/nmdc_sty-11-pzmd0x14.json +0 -0
  490. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/planned_processes.json +0 -0
  491. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/study_no_credit_associations.json +0 -0
  492. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/test_changesheet_insert_study_doi.tsv +0 -0
  493. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/test_changesheet_update_bytes_ranged_slot.tsv +0 -0
  494. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/files/test_changesheet_update_one_ph.tsv +0 -0
  495. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/integration/test_minter_repository.py +0 -0
  496. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/mongodump-nmdc-testdb.sh +0 -0
  497. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/mongorestore-nmdc-testdb.sh +0 -0
  498. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/nmdcdb.test.archive.gz +0 -0
  499. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_api/__init__.py +0 -0
  500. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_api/test_db_mongo.py +0 -0
  501. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_api/test_endpoints.py +0 -0
  502. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_api/util.py +0 -0
  503. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/__init__.py +0 -0
  504. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/conftest.py +0 -0
  505. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/test_gold_translator.py +0 -0
  506. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/test_gold_translator_data.yaml +0 -0
  507. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/test_integrity.py +0 -0
  508. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/test_ncbi_xml.py +0 -0
  509. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/test_neon_benthic_data_translator.py +0 -0
  510. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_data/test_neon_soil_data_translator.py +0 -0
  511. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_graphs/__init__.py +0 -0
  512. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_graphs/ensure_jobs.py +0 -0
  513. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_graphs/test_hello.py +0 -0
  514. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_graphs/test_submission_portal_graphs.py +0 -0
  515. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_normalization/__init__.py +0 -0
  516. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_normalization/test_gold.py +0 -0
  517. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_ops/__init__.py +0 -0
  518. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_ops/test_data_api_ops.py +0 -0
  519. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_ops/test_get_csv_rows_from_url.py +0 -0
  520. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_ops/test_gold_api_ops.py +0 -0
  521. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_ops/test_materialize_alldocs.py +0 -0
  522. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/test_util.py +0 -0
  523. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/unit/core_util.py +0 -0
  524. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests/unit/test_minter_model.py +0 -0
  525. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests2/__init__.py +0 -0
  526. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests2/domain/__init__.py +0 -0
  527. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests2/domain/service/__init__.py +0 -0
  528. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tests2/domain/service/test_user_service.py +0 -0
  529. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/tmp.json +0 -0
  530. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/util/mongodump-nmdc.sh +0 -0
  531. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/util/mongorestore-nmdc.sh +0 -0
  532. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/wait-for-it.sh +0 -0
  533. {nmdc_runtime-2.0.0 → nmdc_runtime-2.1.0}/workspace.toml +0 -0
@@ -1,5 +1,7 @@
1
1
  # To load this in a shell session:
2
- # export $(grep -v '^#' .env | xargs)
2
+ # set -a # automatically export all variables
3
+ # source .env
4
+ # set +a
3
5
 
4
6
  MONGO_HOST=mongodb://mongo:27017
5
7
  MONGO_USERNAME=admin
@@ -1,5 +1,7 @@
1
1
  # To load this in a shell session:
2
- # export $(grep -v '^#' .env.test | xargs)
2
+ # set -a # automatically export all variables
3
+ # source .env.test
4
+ # set +a
3
5
 
4
6
  MONGO_HOST=mongodb://mongo:27017
5
7
  MONGO_USERNAME=admin
@@ -0,0 +1,108 @@
1
+ <!--┌─────────────────────────────────────────────────────────────────────────┐
2
+ │ 1. Summary (required) │
3
+ │ │
4
+ │ Summarize the changes you made on this branch. This is typically a more │
5
+ │ detailed restatement of the PR title. │
6
+ │ │
7
+ │ Example: "In this branch, I updated the `/studies/{study_id}` endpoint │
8
+ │ so it returns an HTTP 404 response when the specified study │
9
+ │ does not exist." │
10
+ └─────────────────────────────────────────────────────────────────────────┘-->
11
+
12
+ In this branch, I...
13
+
14
+ ### Details
15
+
16
+ <!--┌─────────────────────────────────────────────────────────────────────────┐
17
+ │ 2. Details (optional) │
18
+ │ │
19
+ │ Provide additional information you think readers will find useful. │
20
+ │ Readers include PR reviewers, release note authors, app debuggers, and │
21
+ │ your future self. Additional information might include motivation, │
22
+ │ rationale, and a description of how things used to be. │
23
+ │ │
24
+ │ Example: "It previously returned an HTTP 404 response and an empty │
25
+ │ JSON object." │
26
+ └─────────────────────────────────────────────────────────────────────────┘-->
27
+
28
+ ...
29
+
30
+ ### Related issue(s)
31
+
32
+ <!--┌─────────────────────────────────────────────────────────────────────────┐
33
+ │ 3. Related issue(s) (optional) │
34
+ │ │
35
+ │ Link to any GitHub issue(s) this branch was designed to resolve. │
36
+ │ │
37
+ │ Example: "Fixes #12345" │
38
+ └─────────────────────────────────────────────────────────────────────────┘-->
39
+
40
+ ...
41
+
42
+ ### Related subsystem(s)
43
+
44
+ <!--┌─────────────────────────────────────────────────────────────────────────┐
45
+ │ 4. Related subsystem(s) (required) │
46
+ │ │
47
+ │ Mark the checkbox next to each subsystem related to the changes in this │
48
+ │ branch. This information might influence who you request reviews from. │
49
+ │ │
50
+ │ Example: If you modified the `/studies/{study_id}` API endpoint, │
51
+ │ mark the checkbox next to "Runtime API (except the Minter)". │
52
+ └─────────────────────────────────────────────────────────────────────────┘-->
53
+
54
+ - [ ] Runtime API (except the Minter)
55
+ - [ ] Minter
56
+ - [ ] Dagster
57
+ - [ ] Project documentation (in the `docs` directory)
58
+ - [ ] MongoDB migrations
59
+ - [ ] Other
60
+
61
+ ### Testing
62
+
63
+ <!--┌─────────────────────────────────────────────────────────────────────────┐
64
+ │ 5. Testing (required) │
65
+ │ │
66
+ │ Indicate whether you have already tested the changes this branch │
67
+ │ contains; and, if so, how someone other than you can test them. That │
68
+ │ may involve attaching example files or ad hoc test instructions. │
69
+ │ │
70
+ │ Example: "I tested these changes by adding a pytest test that ensures │
71
+ │ the database does not contain a Study whose ID is `foo`, │
72
+ │ then submits an HTTP request to `/studies/foo` and confirms │
73
+ │ the response status is 404." │
74
+ └─────────────────────────────────────────────────────────────────────────┘-->
75
+
76
+ - [ ] I tested these changes (explain below)
77
+ - [ ] I did not test these changes
78
+
79
+ I tested these changes by...
80
+
81
+ ### Documentation
82
+
83
+ <!--┌─────────────────────────────────────────────────────────────────────────┐
84
+ │ 6. Documentation (required) │
85
+ │ │
86
+ │ Indicate whether, in this branch, you have updated all documentation │
87
+ │ that would otherwise become inaccurate if this branch were to be │
88
+ │ merged in. │
89
+ └─────────────────────────────────────────────────────────────────────────┘-->
90
+
91
+ - [ ] I **have not checked** for relevant documentation yet (e.g. in the `docs` directory)
92
+ - [ ] I have **updated** all relevant documentation so it will remain accurate
93
+ - [ ] Other (explain below)
94
+
95
+ ### Maintainability
96
+
97
+ <!--┌─────────────────────────────────────────────────────────────────────────┐
98
+ │ 7. Maintainability (required) │
99
+ │ │
100
+ │ Indicate whether you have done each of these things that can make code │
101
+ │ easier to maintain, whether by your teammates or by your future self. │
102
+ └─────────────────────────────────────────────────────────────────────────┘-->
103
+
104
+ - [ ] Every Python function I defined includes a docstring _(test functions are exempt from this)_
105
+ - [ ] Every Python function parameter I introduced includes a type hint (e.g. `study_id: str`)
106
+ - [ ] All "to do" or "fix me" Python comments I added begin with either `# TODO` or `# FIXME`
107
+ - [ ] I used `black` to format all the Python files I created/modified
108
+ - [ ] The PR title is in the imperative mood (e.g. "Do X") and not the declarative mood (e.g. "Does X" or "Did X")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nmdc_runtime
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: A runtime system for NMDC data management and orchestration
5
5
  Home-page: https://github.com/microbiomedata/nmdc-runtime
6
6
  Author: Donny Winston
@@ -114,7 +114,9 @@ cp .env.example .env
114
114
  Create environment variables in your shell session, based upon the contents of the `.env` file.
115
115
 
116
116
  ```shell
117
- export $(grep -v '^#' .env | xargs)
117
+ set -a # automatically export all variables
118
+ source .env
119
+ set +a
118
120
  ```
119
121
 
120
122
  If you are connecting to resources that require an SSH tunnel—for example, a MongoDB server that is only accessible on the NERSC network—set up the SSH tunnel.
@@ -100,7 +100,9 @@ cp .env.example .env
100
100
  Create environment variables in your shell session, based upon the contents of the `.env` file.
101
101
 
102
102
  ```shell
103
- export $(grep -v '^#' .env | xargs)
103
+ set -a # automatically export all variables
104
+ source .env
105
+ set +a
104
106
  ```
105
107
 
106
108
  If you are connecting to resources that require an SSH tunnel—for example, a MongoDB server that is only accessible on the NERSC network—set up the SSH tunnel.
@@ -8,13 +8,19 @@ PATH_TO_MONGORESTORE_BINARY = "__REPLACE_ME__" # e.g. "/Users/Alice/Downloads/m
8
8
  PATH_TO_MONGOSH_BINARY = "__REPLACE_ME__" # e.g. "/Users/Alice/Downloads/mongosh-1.10.6-darwin-x64/bin/mongosh"
9
9
 
10
10
  # Connection parameters for the Origin Mongo server (typically a remote serve).
11
+ # Note: The Origin Mongo server is the one that contains the database you want
12
+ # to migrate. It is where the "E" and "L" in "ETL" will take place.
11
13
  ORIGIN_MONGO_HOST="__REPLACE_ME__"
12
14
  ORIGIN_MONGO_PORT="__REPLACE_ME__"
13
15
  ORIGIN_MONGO_USERNAME="__REPLACE_ME__"
14
16
  ORIGIN_MONGO_PASSWORD="__REPLACE_ME__"
17
+ ORIGIN_MONGO_DATABASE_NAME="__REPLACE_ME__" # e.g. "nmdc"
15
18
 
16
19
  # Connection parameters for the Transformer Mongo server (typically a local server).
20
+ # Note: The Transformer Mongo server is the one you want to use to perform the
21
+ # database transformations. It is where the "T" in "ETL" will take place.
17
22
  TRANSFORMER_MONGO_HOST="__REPLACE_ME__"
18
23
  TRANSFORMER_MONGO_PORT="__REPLACE_ME__"
19
24
  TRANSFORMER_MONGO_USERNAME="__REPLACE_ME__"
20
25
  TRANSFORMER_MONGO_PASSWORD="__REPLACE_ME__"
26
+ TRANSFORMER_MONGO_DATABASE_NAME="__REPLACE_ME__" # e.g. "nmdc_transformer"
@@ -2,6 +2,7 @@ from pathlib import Path
2
2
  from typing import Dict, Optional, List
3
3
  import logging
4
4
  from datetime import datetime
5
+ from functools import cache
5
6
 
6
7
  from dotenv import dotenv_values
7
8
  from linkml_runtime import SchemaView
@@ -13,6 +14,34 @@ DATABASE_CLASS_NAME = "Database"
13
14
  class Config:
14
15
  """Wrapper class for configuration values related to database migration."""
15
16
 
17
+ @staticmethod
18
+ def make_mongo_cli_base_options(
19
+ mongo_host: str,
20
+ mongo_port: str,
21
+ mongo_username: Optional[str],
22
+ mongo_password: Optional[str],
23
+ ) -> str:
24
+ r"""Compile common Mongo CLI options into a reusable string."""
25
+
26
+ # Always include the CLI options that specify the server host and port.
27
+ base_options: List[str] = [
28
+ f"--host='{mongo_host}'",
29
+ f"--port='{mongo_port}'",
30
+ ]
31
+
32
+ # If the server uses authentication, include authentication-related CLI options.
33
+ server_uses_authentication: bool = mongo_username not in ["", None]
34
+ if server_uses_authentication:
35
+ base_options.extend(
36
+ [
37
+ f"--username='{mongo_username}'",
38
+ f"--password='{mongo_password}'",
39
+ f"--authenticationDatabase='admin'",
40
+ ]
41
+ )
42
+
43
+ return " ".join(base_options)
44
+
16
45
  def parse_and_validate_notebook_config_file(
17
46
  self, notebook_config_file_path: str
18
47
  ) -> Dict[str, str]:
@@ -27,7 +56,9 @@ class Config:
27
56
 
28
57
  # Validate the dump folder paths.
29
58
  origin_dump_folder_path = notebook_config["PATH_TO_ORIGIN_MONGO_DUMP_FOLDER"]
30
- transformer_dump_folder_path = notebook_config["PATH_TO_TRANSFORMER_MONGO_DUMP_FOLDER"]
59
+ transformer_dump_folder_path = notebook_config[
60
+ "PATH_TO_TRANSFORMER_MONGO_DUMP_FOLDER"
61
+ ]
31
62
  if not Path(origin_dump_folder_path).parent.is_dir():
32
63
  raise FileNotFoundError(
33
64
  f"Parent folder of {origin_dump_folder_path} (origin Mongo dump folder path) not found."
@@ -44,7 +75,9 @@ class Config:
44
75
  if not Path(mongodump_path).is_file():
45
76
  raise FileNotFoundError(f"mongodump binary not found at: {mongodump_path}")
46
77
  if not Path(mongorestore_path).is_file():
47
- raise FileNotFoundError(f"mongorestore binary not found at: {mongorestore_path}")
78
+ raise FileNotFoundError(
79
+ f"mongorestore binary not found at: {mongorestore_path}"
80
+ )
48
81
  if not Path(mongosh_path).is_file():
49
82
  raise FileNotFoundError(f"mongosh binary not found at: {mongosh_path}")
50
83
 
@@ -52,11 +85,33 @@ class Config:
52
85
  origin_mongo_port = notebook_config["ORIGIN_MONGO_PORT"]
53
86
  origin_mongo_username = notebook_config["ORIGIN_MONGO_USERNAME"]
54
87
  origin_mongo_password = notebook_config["ORIGIN_MONGO_PASSWORD"]
88
+ origin_mongo_database_name = notebook_config["ORIGIN_MONGO_DATABASE_NAME"]
55
89
 
56
90
  transformer_mongo_host = notebook_config["TRANSFORMER_MONGO_HOST"]
57
91
  transformer_mongo_port = notebook_config["TRANSFORMER_MONGO_PORT"]
58
92
  transformer_mongo_username = notebook_config["TRANSFORMER_MONGO_USERNAME"]
59
93
  transformer_mongo_password = notebook_config["TRANSFORMER_MONGO_PASSWORD"]
94
+ transformer_mongo_database_name = notebook_config[
95
+ "TRANSFORMER_MONGO_DATABASE_NAME"
96
+ ]
97
+
98
+ # Validate the database names.
99
+ if origin_mongo_database_name.strip() == "":
100
+ raise ValueError(f"Origin database name cannot be empty")
101
+ if transformer_mongo_database_name.strip() == "":
102
+ raise ValueError(f"Transformer database name cannot be empty")
103
+ if all(
104
+ [
105
+ origin_mongo_host == transformer_mongo_host,
106
+ origin_mongo_port == transformer_mongo_port,
107
+ origin_mongo_database_name == transformer_mongo_database_name,
108
+ ]
109
+ ):
110
+ # Note: We don't allow the use of the origin database as the transformer,
111
+ # because that would prevent us from easily aborting the migration.
112
+ raise ValueError(
113
+ f"The origin and transformer cannot both be the same database"
114
+ )
60
115
 
61
116
  return dict(
62
117
  origin_dump_folder_path=origin_dump_folder_path,
@@ -68,30 +123,40 @@ class Config:
68
123
  origin_mongo_port=origin_mongo_port,
69
124
  origin_mongo_username=origin_mongo_username,
70
125
  origin_mongo_password=origin_mongo_password,
126
+ origin_mongo_database_name=origin_mongo_database_name,
71
127
  transformer_mongo_host=transformer_mongo_host,
72
128
  transformer_mongo_port=transformer_mongo_port,
73
129
  transformer_mongo_username=transformer_mongo_username,
74
130
  transformer_mongo_password=transformer_mongo_password,
131
+ transformer_mongo_database_name=transformer_mongo_database_name,
75
132
  )
76
133
 
77
134
  def __init__(self, notebook_config_file_path: str = "./.notebook.env") -> None:
78
135
  # Parse and validate the notebook config file.
79
- notebook_config = self.parse_and_validate_notebook_config_file(notebook_config_file_path)
136
+ notebook_config = self.parse_and_validate_notebook_config_file(
137
+ notebook_config_file_path
138
+ )
80
139
  self.mongodump_path = notebook_config["mongodump_path"]
81
140
  self.mongorestore_path = notebook_config["mongorestore_path"]
82
141
  self.mongosh_path = notebook_config["mongosh_path"]
83
142
  self.origin_dump_folder_path = notebook_config["origin_dump_folder_path"]
84
- self.transformer_dump_folder_path = notebook_config["transformer_dump_folder_path"]
143
+ self.transformer_dump_folder_path = notebook_config[
144
+ "transformer_dump_folder_path"
145
+ ]
85
146
 
86
147
  # Parse the Mongo connection parameters.
87
148
  self.origin_mongo_host = notebook_config["origin_mongo_host"]
88
149
  self.origin_mongo_port = notebook_config["origin_mongo_port"]
89
150
  self.origin_mongo_username = notebook_config["origin_mongo_username"]
90
151
  self.origin_mongo_password = notebook_config["origin_mongo_password"]
152
+ self.origin_mongo_database_name = notebook_config["origin_mongo_database_name"]
91
153
  self.transformer_mongo_host = notebook_config["transformer_mongo_host"]
92
154
  self.transformer_mongo_port = notebook_config["transformer_mongo_port"]
93
155
  self.transformer_mongo_username = notebook_config["transformer_mongo_username"]
94
156
  self.transformer_mongo_password = notebook_config["transformer_mongo_password"]
157
+ self.transformer_mongo_database_name = notebook_config[
158
+ "transformer_mongo_database_name"
159
+ ]
95
160
 
96
161
 
97
162
  def setup_logger(
@@ -128,6 +193,9 @@ def get_collection_names_from_schema(schema_view: SchemaView) -> List[str]:
128
193
  Returns the names of the slots of the `Database` class that describe database collections.
129
194
 
130
195
  :param schema_view: A `SchemaView` instance
196
+
197
+ Source: This function was copied from https://github.com/microbiomedata/refscan/blob/main/refscan/lib/helpers.py
198
+ with permission from its author.
131
199
  """
132
200
  collection_names = []
133
201
 
@@ -144,3 +212,50 @@ def get_collection_names_from_schema(schema_view: SchemaView) -> List[str]:
144
212
  collection_names = list(set(collection_names))
145
213
 
146
214
  return collection_names
215
+
216
+
217
+ @cache # memoizes the decorated function
218
+ def translate_class_uri_into_schema_class_name(
219
+ schema_view: SchemaView, class_uri: str
220
+ ) -> Optional[str]:
221
+ r"""
222
+ Returns the name of the schema class that has the specified value as its `class_uri`.
223
+
224
+ Example: "nmdc:Biosample" (a `class_uri` value) -> "Biosample" (a class name)
225
+
226
+ References:
227
+ - https://linkml.io/linkml/developers/schemaview.html#linkml_runtime.utils.schemaview.SchemaView.all_classes
228
+ - https://linkml.io/linkml/code/metamodel.html#linkml_runtime.linkml_model.meta.ClassDefinition.class_uri
229
+
230
+ Source: This function was copied from https://github.com/microbiomedata/refscan/blob/main/refscan/lib/helpers.py
231
+ with permission from its author.
232
+ """
233
+ schema_class_name = None
234
+ all_class_definitions_in_schema = schema_view.all_classes()
235
+ for class_name, class_definition in all_class_definitions_in_schema.items():
236
+ if class_definition.class_uri == class_uri:
237
+ schema_class_name = class_definition.name
238
+ break
239
+ return schema_class_name
240
+
241
+
242
+ def derive_schema_class_name_from_document(
243
+ schema_view: SchemaView, document: dict
244
+ ) -> Optional[str]:
245
+ r"""
246
+ Returns the name of the schema class, if any, of which the specified document claims to represent an instance.
247
+
248
+ This function is written under the assumption that the document has a `type` field whose value is the `class_uri`
249
+ belonging to the schema class of which the document represents an instance. Slot definition for such a field:
250
+ https://github.com/microbiomedata/berkeley-schema-fy24/blob/fc2d9600/src/schema/basic_slots.yaml#L420-L436
251
+
252
+ Source: This function was copied from https://github.com/microbiomedata/refscan/blob/main/refscan/lib/helpers.py
253
+ with permission from its author.
254
+ """
255
+ schema_class_name = None
256
+ if "type" in document and isinstance(document["type"], str):
257
+ class_uri = document["type"]
258
+ schema_class_name = translate_class_uri_into_schema_class_name(
259
+ schema_view, class_uri
260
+ )
261
+ return schema_class_name