Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typecode fixes on IDs for ChromatographyConfiguration, StorageProcess, and MassSpectrometryConfiguration class ids #225

Merged
merged 10 commits into from
Jul 24, 2024
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,9 @@ Core developers should read the material on the [LinkML site](https://linkml.io/
- Follow the naming conventions of the parent class
- Descriptions of child classes may reference parent classes in a genus-differentia definition structure (e.g. "A workflow execution activity that...")
- Inheritance should be monotonic: `slot_usage` should refine rather than override
- ID patterning and checks
- ID patterns for new classes should follow conventions found [here](https://microbiomedata.github.io/nmdc-schema/identifiers/)
- Class-linking slots (i.e. `has_input`) should have slot_usage declared that limit range to only instances of the expecting linked class (i.e. `syntax: "{id_nmdc_prefix}:chrcon-{id_shoulder}-{id_blade}$"`)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're talking about the structured_patterns here, right? The range is limited by the range metaslot, and not anything else. This is also intended as a short term fix, just until the LinkML developers come up with a more general solution that doesn't require us to make repetitive assertions.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is in reference to the structured_pattern use. I understand that its a temporary fix, but it's been a big pain for the re-IDing team so I wanted to document it somewhere until linkML can verify ranges.

I will update language to be more explicit.


### Testing Changes Locally

Expand Down
2 changes: 1 addition & 1 deletion src/data/valid/ChromatographyConfiguration-GC.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
id: nmdc:chrocon-99-oW43DzG0
id: nmdc:chrcon-99-oW43DzG0
type: nmdc:ChromatographyConfiguration
name: "EMSL GC method for small molecules"
description: "EMSL's GC method for small molecule analysis"
Expand Down
2 changes: 1 addition & 1 deletion src/data/valid/ChromatographyConfiguration-LC.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
id: nmdc:chrocon-99-oW43DzG0
id: nmdc:chrcon-99-oW43DzG0
type: nmdc:ChromatographyConfiguration
name: "EMSL HILIC method for small molecules"
description: "EMSL's hydrophilic interaction liquid chromatography method for small molecules"
Expand Down
8 changes: 4 additions & 4 deletions src/data/valid/Database-interleaved.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ material_processing_set:
sampled_portion:
- supernatant
storage_process_set:
- id: nmdc:storpro-99-zUCd5N
- id: nmdc:storpr-99-zUCd5N
substances_used:
- known_as: nmdc:chem-99-000003 # see src/data/valid/Database-chemical_entity_set-1.yaml
type: nmdc:PortionOfSubstance
Expand Down Expand Up @@ -3907,7 +3907,7 @@ data_generation_set:
type: nmdc:MassSpectrometry
eluent_introduction_category: liquid_chromatography
has_mass_spectrometry_configuration: nmdc:mscon-99-oW43DzG1
has_chromatography_configuration: nmdc:chrocon-99-oW43DzG0
has_chromatography_configuration: nmdc:chrcon-99-oW43DzG0
analyte_category: lipidome
has_input:
- nmdc:procsm-99-0wxpzf08
Expand All @@ -3924,7 +3924,7 @@ data_generation_set:
eluent_introduction_category: liquid_chromatography
analyte_category: lipidome
has_mass_spectrometry_configuration: nmdc:mscon-99-oW43DzG2
has_chromatography_configuration: nmdc:chrocon-99-oW43DzG0
has_chromatography_configuration: nmdc:chrcon-99-oW43DzG0
has_input:
- nmdc:procsm-99-0wxpzf08
start_date: 31-OCT-14 01.00.00.000000000 AM
Expand Down Expand Up @@ -4779,7 +4779,7 @@ configuration_set:
- ion_trap
ionization_source: electrospray_ionization
polarity_mode: negative
- id: nmdc:chrocon-99-oW43DzG0
- id: nmdc:chrcon-99-oW43DzG0
name: EMSL LC method for non-polar metabolites
description: LC method for non-polar metabolites used by EMSL
type: nmdc:ChromatographyConfiguration
Expand Down
6 changes: 3 additions & 3 deletions src/data/valid/Database-mass-spectrometry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ data_generation_set:
type: nmdc:MassSpectrometry
eluent_introduction_category: liquid_chromatography
has_mass_spectrometry_configuration: nmdc:mscon-99-oW43DzG1
has_chromatography_configuration: nmdc:chrocon-11-oW43DzG0
has_chromatography_configuration: nmdc:chrcon-11-oW43DzG0
analyte_category: lipidome
has_input:
- nmdc:procsm-11-0wxpzf08 # See src/data/valid/Extraction-metabolomics.yaml
Expand All @@ -20,7 +20,7 @@ data_generation_set:
eluent_introduction_category: liquid_chromatography
analyte_category: lipidome
has_mass_spectrometry_configuration: nmdc:mscon-99-oW43DzG2
has_chromatography_configuration: nmdc:chrocon-11-oW43DzG0
has_chromatography_configuration: nmdc:chrcon-11-oW43DzG0
has_input:
- nmdc:procsm-11-0wxpzf08 # See src/data/valid/Extraction-metabolomics.yaml
start_date: 31-OCT-14 01.00.00.000000000 AM
Expand Down Expand Up @@ -89,7 +89,7 @@ configuration_set:
- ion_trap
ionization_source: electrospray_ionization
polarity_mode: negative
- id: nmdc:chrocon-11-oW43DzG0
- id: nmdc:chrcon-11-oW43DzG0
name: EMSL LC method for non-polar metabolites
description: LC method for non-polar metabolites used by EMSL
type: nmdc:ChromatographyConfiguration
Expand Down
4 changes: 2 additions & 2 deletions src/data/valid/Database-mass_spectrometry_gc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ data_generation_set:
has_output:
- nmdc:dobj-11-9n9n9n #defined below
has_mass_spectrometry_configuration: nmdc:mscon-99-oW43DzG0 #defined below
has_chromatography_configuration: nmdc:chrocon-99-oW43DzG1 #defined below
has_chromatography_configuration: nmdc:chrcon-99-oW43DzG1 #defined below
eluent_introduction_category: gas_chromatography
has_calibration: nmdc:calib-99-zUCd5Q #defined below
analyte_category: metabolome
Expand All @@ -21,7 +21,7 @@ calibration_set:
calibration_target: retention_index
calibration_standard: fames
configuration_set:
- id: nmdc:chrocon-99-oW43DzG1
- id: nmdc:chrcon-99-oW43DzG1
type: nmdc:ChromatographyConfiguration
name: "EMSL GC method for small molecules"
description: "EMSL's Gas Chromatography method for small molecules"
Expand Down
2 changes: 1 addition & 1 deletion src/data/valid/StorageProcess-minimal.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

id: nmdc:storpro-99-zUCd5N
id: nmdc:storpr-99-zUCd5N
substances_used:
- known_as: nmdc:chem-99-000003 # see src/data/valid/Database-chemical_entity_set-1.yaml
type: nmdc:PortionOfSubstance
Expand Down
8 changes: 4 additions & 4 deletions src/schema/nmdc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ classes:
interpolated: true
has_chromatography_configuration:
structured_pattern:
syntax: "{id_nmdc_prefix}:chrocon-{id_shoulder}-{id_blade}$"
syntax: "{id_nmdc_prefix}:chrcon-{id_shoulder}-{id_blade}$"
interpolated: true
has_mass_spectrometry_configuration:
structured_pattern:
Expand Down Expand Up @@ -216,7 +216,7 @@ classes:
required: true
id:
structured_pattern:
syntax: "{id_nmdc_prefix}:(mscon)-{id_shoulder}-{id_blade}$"
syntax: "{id_nmdc_prefix}:mscon-{id_shoulder}-{id_blade}$"
interpolated: true

ChromatographyConfiguration:
Expand All @@ -237,7 +237,7 @@ classes:
required: true
id:
structured_pattern:
syntax: "{id_nmdc_prefix}:(chrocon)-{id_shoulder}-{id_blade}$"
syntax: "{id_nmdc_prefix}:chrcon-{id_shoulder}-{id_blade}$"
interpolated: true

FunctionalAnnotationAggMember:
Expand Down Expand Up @@ -578,7 +578,7 @@ classes:
id:
required: true
structured_pattern:
syntax: "{id_nmdc_prefix}:storpro-{id_shoulder}-{id_blade}$"
syntax: "{id_nmdc_prefix}:storpr-{id_shoulder}-{id_blade}$"
interpolated: true
has_input:
structured_pattern:
Expand Down
Loading