diff --git a/nmdc_schema/nmdc.py b/nmdc_schema/nmdc.py index c91529a0f4..4d558a52b3 100644 --- a/nmdc_schema/nmdc.py +++ b/nmdc_schema/nmdc.py @@ -1,5 +1,5 @@ # Auto generated from nmdc.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-06-04T21:02:10 +# Generation date: 2024-06-05T15:38:19 # Schema: NMDC # # id: https://w3id.org/nmdc/nmdc @@ -5707,10 +5707,10 @@ class MetagenomeSequencingActivity(WorkflowExecutionActivity): id: Union[str, MetagenomeSequencingActivityId] = None execution_resource: str = None git_url: str = None - has_input: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None type: str = None started_at_time: str = None ended_at_time: str = None + has_input: Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.id): @@ -5718,6 +5718,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.id, MetagenomeSequencingActivityId): self.id = MetagenomeSequencingActivityId(self.id) + if self._is_empty(self.has_input): + self.MissingRequiredField("has_input") + if not isinstance(self.has_input, list): + self.has_input = [self.has_input] if self.has_input is not None else [] + self.has_input = [v if isinstance(v, NamedThingId) else NamedThingId(v) for v in self.has_input] + super().__post_init__(**kwargs) @@ -11737,6 +11743,9 @@ class slots: model_uri=NMDC.MetagenomeSequencingActivity_id, domain=MetagenomeSequencingActivity, range=Union[str, MetagenomeSequencingActivityId], pattern=re.compile(r'^[a-zA-Z0-9][a-zA-Z0-9_\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\-\/\.,]*$')) +slots.MetagenomeSequencingActivity_has_input = Slot(uri=NMDC.has_input, name="MetagenomeSequencingActivity_has_input", curie=NMDC.curie('has_input'), + model_uri=NMDC.MetagenomeSequencingActivity_has_input, domain=MetagenomeSequencingActivity, range=Union[Union[str, NamedThingId], List[Union[str, NamedThingId]]]) + slots.ReadQcAnalysisActivity_id = Slot(uri=NMDC.id, name="ReadQcAnalysisActivity_id", curie=NMDC.curie('id'), model_uri=NMDC.ReadQcAnalysisActivity_id, domain=ReadQcAnalysisActivity, range=Union[str, ReadQcAnalysisActivityId], pattern=re.compile(r'^[a-zA-Z0-9][a-zA-Z0-9_\.]+:[a-zA-Z0-9_][a-zA-Z0-9_\-\/\.,]*$')) diff --git a/nmdc_schema/nmdc_materialized_patterns.schema.json b/nmdc_schema/nmdc_materialized_patterns.schema.json index a4d30cfb54..10337e64ed 100644 --- a/nmdc_schema/nmdc_materialized_patterns.schema.json +++ b/nmdc_schema/nmdc_materialized_patterns.schema.json @@ -6033,7 +6033,7 @@ "has_input": { "description": "An input to a process.", "items": { - "pattern": "^(nmdc):dobj-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", + "pattern": "^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$", "type": "string" }, "type": "array" diff --git a/nmdc_schema/nmdc_materialized_patterns.yaml b/nmdc_schema/nmdc_materialized_patterns.yaml index c05d23830a..039e6019fd 100644 --- a/nmdc_schema/nmdc_materialized_patterns.yaml +++ b/nmdc_schema/nmdc_materialized_patterns.yaml @@ -20809,6 +20809,12 @@ classes: structured_pattern: syntax: '{id_nmdc_prefix}:wfmsa-{id_shoulder}-{id_blade}{id_version}$' interpolated: true + has_input: + name: has_input + pattern: ^(nmdc):(bsm|procsm)-([0-9][a-z]{0,6}[0-9])-([A-Za-z0-9]{1,})$ + structured_pattern: + syntax: '{id_nmdc_prefix}:(bsm|procsm)-{id_shoulder}-{id_blade}$' + interpolated: true ReadQcAnalysisActivity: name: ReadQcAnalysisActivity description: A workflow execution activity that performs quality control on raw diff --git a/nmdc_schema/nmdc_schema_merged.yaml b/nmdc_schema/nmdc_schema_merged.yaml index 37a0493245..e46f87fc5d 100644 --- a/nmdc_schema/nmdc_schema_merged.yaml +++ b/nmdc_schema/nmdc_schema_merged.yaml @@ -20755,6 +20755,11 @@ classes: structured_pattern: syntax: '{id_nmdc_prefix}:wfmsa-{id_shoulder}-{id_blade}{id_version}$' interpolated: true + has_input: + name: has_input + structured_pattern: + syntax: '{id_nmdc_prefix}:(bsm|procsm)-{id_shoulder}-{id_blade}$' + interpolated: true ReadQcAnalysisActivity: name: ReadQcAnalysisActivity description: A workflow execution activity that performs quality control on raw diff --git a/project.Makefile b/project.Makefile index e60855c238..de82c01ee4 100644 --- a/project.Makefile +++ b/project.Makefile @@ -213,6 +213,8 @@ local/mongo_as_unvalidated_nmdc_database.yaml: --selected-collections metagenome_annotation_activity_set \ --selected-collections metagenome_annotation_set \ --selected-collections metagenome_assembly_set \ + --selected-collections metagenome_sequencing_activity_set \ + --selected-collections metagenome_sequencing_set \ --selected-collections metap_gene_function_aggregation \ --selected-collections metatranscriptome_activity_set \ --selected-collections metatranscriptome_analysis_set \ diff --git a/src/data/problem/Database-with-MetagenomeSequencingActivity.yaml b/src/data/valid/Database-with-MetagenomeSequencingActivity.yaml similarity index 100% rename from src/data/problem/Database-with-MetagenomeSequencingActivity.yaml rename to src/data/valid/Database-with-MetagenomeSequencingActivity.yaml diff --git a/src/data/problem/MetagenomeSequencingActivity-from-metagenome_seequencing_activity_json.yaml b/src/data/valid/MetagenomeSequencingActivity-from-metagenome_seequencing_activity_json.yaml similarity index 100% rename from src/data/problem/MetagenomeSequencingActivity-from-metagenome_seequencing_activity_json.yaml rename to src/data/valid/MetagenomeSequencingActivity-from-metagenome_seequencing_activity_json.yaml diff --git a/src/schema/workflow_execution_activity.yaml b/src/schema/workflow_execution_activity.yaml index 6deaff3a08..0c981b7a64 100644 --- a/src/schema/workflow_execution_activity.yaml +++ b/src/schema/workflow_execution_activity.yaml @@ -265,10 +265,10 @@ classes: structured_pattern: syntax: "{id_nmdc_prefix}:wfmsa-{id_shoulder}-{id_blade}{id_version}$" interpolated: true - # has_input: - # structured_pattern: - # syntax: ".*" # todo this accounts for an extreme edge case and should nto be repeated anywhere - # interpolated: true + has_input: + structured_pattern: + syntax: "{id_nmdc_prefix}:(bsm|procsm)-{id_shoulder}-{id_blade}$" + interpolated: true ReadQcAnalysisActivity: