nmdc-schema 11.15.0__py3-none-any.whl → 11.16.0__py3-none-any.whl

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.
@@ -30,7 +30,7 @@ from pydantic import (
30
30
 
31
31
 
32
32
  metamodel_version = "None"
33
- version = "11.15.0"
33
+ version = "11.16.0"
34
34
 
35
35
 
36
36
  class ConfiguredBaseModel(BaseModel):
@@ -307,12 +307,12 @@ linkml_meta = LinkMLMeta({'default_prefix': 'nmdc',
307
307
  'xsd': {'prefix_prefix': 'xsd',
308
308
  'prefix_reference': 'http://www.w3.org/2001/XMLSchema#'}},
309
309
  'settings': {'DOI': {'setting_key': 'DOI',
310
- 'setting_value': '^doi:10.\\d{2,9}/.*$'},
310
+ 'setting_value': 'doi:10.\\d{2,9}/.*'},
311
311
  'NCBItaxon_id': {'setting_key': 'NCBItaxon_id',
312
312
  'setting_value': 'NCBITaxon:\\d+'},
313
- 'PMID': {'setting_key': 'PMID', 'setting_value': '^PMID:\\d+$'},
313
+ 'PMID': {'setting_key': 'PMID', 'setting_value': 'PMID:\\d+'},
314
314
  'URL': {'setting_key': 'URL',
315
- 'setting_value': '^https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)$'},
315
+ 'setting_value': 'https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)'},
316
316
  'add_recov_methods': {'setting_key': 'add_recov_methods',
317
317
  'setting_value': 'Water Injection|Dump '
318
318
  'Flood|Gas Injection|Wag '
@@ -330,7 +330,7 @@ linkml_meta = LinkMLMeta({'default_prefix': 'nmdc',
330
330
  'country': {'setting_key': 'country',
331
331
  'setting_value': '([^\\s-]{1,2}|[^\\s-]+.+[^\\s-]+)'},
332
332
  'date_time_stamp': {'setting_key': 'date_time_stamp',
333
- 'setting_value': '(\\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\\d|3[01])(T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)(\\.\\d+)?(Z|([+-][01]\\d:[0-5]\\d))?)?)?)?$'},
333
+ 'setting_value': '(\\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\\d|3[01])(T([01]\\d|2[0-3]):([0-5]\\d)(:([0-5]\\d))?(\\.\\d+)?(Z|([+-][01]\\d:[0-5]\\d))?)?)?)?'},
334
334
  'dna_bases': {'setting_key': 'dna_bases',
335
335
  'setting_value': '[ACGT]'},
336
336
  'duration': {'setting_key': 'duration',
@@ -379,6 +379,8 @@ linkml_meta = LinkMLMeta({'default_prefix': 'nmdc',
379
379
  'termLabel': {'setting_key': 'termLabel',
380
380
  'setting_value': '([^\\s-]{1,2}|[^\\s-]+.+[^\\s-]+)'},
381
381
  'text': {'setting_key': 'text', 'setting_value': '.*'},
382
+ 'timestamp': {'setting_key': 'timestamp',
383
+ 'setting_value': '(\\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\\d|3[01])(T([01]\\d|2[0-3]):([0-5]\\d)(:([0-5]\\d))?(\\.\\d+)?(Z|([+-][01]\\d:[0-5]\\d))?)?)?)?'},
382
384
  'unit': {'setting_key': 'unit',
383
385
  'setting_value': '([^\\s-]{1,2}|[^\\s-]+.+[^\\s-]+)'},
384
386
  'version': {'setting_key': 'version',
@@ -648,6 +650,7 @@ class CalibrationTargetEnum(str, Enum):
648
650
  class CalibrationStandardEnum(str, Enum):
649
651
  fames = "fames"
650
652
  alkanes = "alkanes"
653
+ srfa = "srfa"
651
654
 
652
655
 
653
656
  class StrandedOrientationEnum(str, Enum):
@@ -8937,17 +8940,10 @@ class Biosample(Sample):
8937
8940
  "property. It's just a "
8938
8941
  'biogeochemical measurement.']},
8939
8942
  'heavy_metals_meth': {'comments': ['Required when heavy metals '
8940
- 'are provided',
8941
- 'If different methods are '
8942
- 'used for multiple metals, '
8943
- 'indicate the metal and '
8944
- 'method. Separate metals by '
8945
- ';'],
8943
+ 'are provided'],
8946
8944
  'examples': [{'value': 'https://doi.org/10.3390/ijms9040434'},
8947
- {'value': 'mercury '
8948
- 'https://doi.org/10.1007/BF01056090; '
8949
- 'chromium '
8950
- 'https://doi.org/10.1007/s00216-006-0322-8'}],
8945
+ {'value': 'doi:10.1007/BF01056090'},
8946
+ {'value': 'https://doi.org/10.1007/s00216-006-0322-8'}],
8951
8947
  'multivalued': True,
8952
8948
  'name': 'heavy_metals_meth',
8953
8949
  'title': 'heavy metals method/ extreme '
@@ -9305,7 +9301,7 @@ class Biosample(Sample):
9305
9301
  'slot_uri': 'MIXS:0000324',
9306
9302
  'structured_pattern': {'interpolated': True,
9307
9303
  'partial_match': True,
9308
- 'syntax': '^{PMID}|{DOI}|{URL}$'},
9304
+ 'syntax': '^({PMID}|{DOI}|{URL})$'},
9309
9305
  'todos': ["I think it's weird the way GSC writes the title. I recommend this "
9310
9306
  'change. Thoughts?']} })
9311
9307
  alkalinity: Optional[QuantityValue] = Field(default=None, title="alkalinity", description="""Alkalinity, the ability of a solution to neutralize acids to the equivalence point of carbonate or bicarbonate""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
@@ -9864,7 +9860,7 @@ class Biosample(Sample):
9864
9860
  'keywords': ['culture'],
9865
9861
  'slot_uri': 'MIXS:0001041',
9866
9862
  'structured_pattern': {'interpolated': True,
9867
- 'syntax': '^{text}|{PMID}|{DOI}|{URL}$'}} })
9863
+ 'syntax': '^({text}|{PMID}|{DOI}|{URL})$'}} })
9868
9864
  cur_land_use: Optional[str] = Field(default=None, title="current land use", description="""Present state of sample site""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
9869
9865
  'value': 'enumeration'}},
9870
9866
  'domain_of': ['Biosample'],
@@ -9914,7 +9910,7 @@ class Biosample(Sample):
9914
9910
  'slot_uri': 'MIXS:0000314',
9915
9911
  'structured_pattern': {'interpolated': True,
9916
9912
  'partial_match': True,
9917
- 'syntax': '^{PMID}|{DOI}|{URL}$'},
9913
+ 'syntax': '^({PMID}|{DOI}|{URL})$'},
9918
9914
  'todos': ["I'm not sure this is a DOI, PMID, or URI. Should pool the "
9919
9915
  'community and find out how they accomplish this if provided.']} })
9920
9916
  date_last_rain: Optional[TimestampValue] = Field(default=None, title="date last rain", description="""The date of the last time it rained""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
@@ -10444,9 +10440,9 @@ class Biosample(Sample):
10444
10440
  'partial_match': True,
10445
10441
  'syntax': '^{scientific_float}( *- '
10446
10442
  '*{scientific_float})? *{text}$'}} })
10447
- freq_clean: Optional[QuantityValue] = Field(default=None, title="frequency of cleaning", description="""The number of times the sample location is cleaned. Frequency of cleaning might be on a Daily basis, Weekly, Monthly, Quarterly or Annually""", json_schema_extra = { "linkml_meta": {'annotations': {'storage_units': {'tag': 'storage_units', 'value': '1/d'}},
10443
+ freq_clean: Optional[QuantityValue] = Field(default=None, title="frequency of cleaning", description="""The number of times the sample location is cleaned per day.""", json_schema_extra = { "linkml_meta": {'annotations': {'storage_units': {'tag': 'storage_units', 'value': '1/d'}},
10448
10444
  'domain_of': ['Biosample'],
10449
- 'examples': [{'value': 'Daily'}],
10445
+ 'examples': [{'value': '2 1/d'}],
10450
10446
  'keywords': ['frequency'],
10451
10447
  'slot_uri': 'MIXS:0000226'} })
10452
10448
  freq_cook: Optional[QuantityValue] = Field(default=None, title="frequency of cooking", description="""The number of times a meal is cooked per week""", json_schema_extra = { "linkml_meta": {'annotations': {'storage_units': {'tag': 'storage_units', 'value': '1/d'}},
@@ -10494,7 +10490,8 @@ class Biosample(Sample):
10494
10490
  genetic_mod: Optional[str] = Field(default=None, title="genetic modification", description="""Genetic modifications of the genome of an organism, which may occur naturally by spontaneous mutation, or be introduced by some experimental means, e.g. specification of a transgene or the gene knocked-out or details of transient transfection""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
10495
10491
  'examples': [{'value': 'PMID:19497774'}],
10496
10492
  'slot_uri': 'MIXS:0000859',
10497
- 'structured_pattern': {'interpolated': True, 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10493
+ 'structured_pattern': {'interpolated': True,
10494
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10498
10495
  geo_loc_name: Optional[TextValue] = Field(default=None, title="geographic location (country and/or sea,region)", description="""The geographical origin of the sample as defined by the country or sea name followed by specific region name. Country or sea names should be chosen from the INSDC country list (http://insdc.org/country.html), or the GAZ ontology (http://purl.bioontology.org/ontology/GAZ)""", json_schema_extra = { "linkml_meta": {'domain_of': ['FieldResearchSite', 'Biosample'],
10499
10496
  'examples': [{'value': 'USA: Maryland, Bethesda'}],
10500
10497
  'keywords': ['geographic', 'location'],
@@ -10629,18 +10626,16 @@ class Biosample(Sample):
10629
10626
  "I think it's weird the way GSC writes the title. I recommend this "
10630
10627
  "change. Thoughts? I would argue this isn't an extreme unusual "
10631
10628
  "property. It's just a biogeochemical measurement."]} })
10632
- heavy_metals_meth: Optional[list[str]] = Field(default=[], title="heavy metals method/ extreme unusual properties", description="""Reference or method used in determining heavy metals""", json_schema_extra = { "linkml_meta": {'comments': ['Required when heavy metals are provided',
10633
- 'If different methods are used for multiple metals, indicate the '
10634
- 'metal and method. Separate metals by ;'],
10629
+ heavy_metals_meth: Optional[list[str]] = Field(default=[], title="heavy metals method/ extreme unusual properties", description="""Reference or method used in determining heavy metals""", json_schema_extra = { "linkml_meta": {'comments': ['Required when heavy metals are provided'],
10635
10630
  'domain_of': ['Biosample'],
10636
10631
  'examples': [{'value': 'https://doi.org/10.3390/ijms9040434'},
10637
- {'value': 'mercury https://doi.org/10.1007/BF01056090; chromium '
10638
- 'https://doi.org/10.1007/s00216-006-0322-8'}],
10632
+ {'value': 'doi:10.1007/BF01056090'},
10633
+ {'value': 'https://doi.org/10.1007/s00216-006-0322-8'}],
10639
10634
  'keywords': ['extreme', 'method', 'properties', 'unusual'],
10640
10635
  'slot_uri': 'MIXS:0000343',
10641
10636
  'structured_pattern': {'interpolated': True,
10642
10637
  'partial_match': True,
10643
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10638
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10644
10639
  height_carper_fiber: Optional[QuantityValue] = Field(default=None, title="height carpet fiber mat", description="""The average carpet fiber height in the indoor environment""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
10645
10640
  'value': 'centimeter'},
10646
10641
  'storage_units': {'tag': 'storage_units', 'value': 'cm'}},
@@ -10664,7 +10659,7 @@ class Biosample(Sample):
10664
10659
  'slot_uri': 'MIXS:0000321',
10665
10660
  'structured_pattern': {'interpolated': True,
10666
10661
  'partial_match': True,
10667
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10662
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10668
10663
  host_age: Optional[QuantityValue] = Field(default=None, title="host age", description="""Age of host at the time of sampling; relevant scale depends on species and study, e.g. Could be seconds for amoebae or centuries for trees""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
10669
10664
  'value': 'year, day, hour'},
10670
10665
  'storage_units': {'tag': 'storage_units', 'value': 'a|d|h'}},
@@ -10741,7 +10736,7 @@ class Biosample(Sample):
10741
10736
  'slot_uri': 'MIXS:0000871',
10742
10737
  'structured_pattern': {'interpolated': True,
10743
10738
  'partial_match': True,
10744
- 'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
10739
+ 'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
10745
10740
  host_height: Optional[QuantityValue] = Field(default=None, title="host height", description="""The height of subject""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
10746
10741
  'value': 'centimeter, millimeter, meter'},
10747
10742
  'storage_units': {'tag': 'storage_units', 'value': 'cm|m|mm'}},
@@ -10969,7 +10964,7 @@ class Biosample(Sample):
10969
10964
  'slot_uri': 'MIXS:0000340',
10970
10965
  'structured_pattern': {'interpolated': True,
10971
10966
  'partial_match': True,
10972
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10967
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10973
10968
  link_class_info: Optional[str] = Field(default=None, title="link to classification information", description="""Link to digitized soil maps or other soil classification information""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
10974
10969
  'value': 'PMID,DOI or url'}},
10975
10970
  'domain_of': ['Biosample'],
@@ -10981,7 +10976,7 @@ class Biosample(Sample):
10981
10976
  'slot_uri': 'MIXS:0000328',
10982
10977
  'structured_pattern': {'interpolated': True,
10983
10978
  'partial_match': True,
10984
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10979
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
10985
10980
  lithology: Optional[LithologyEnum] = Field(default=None, title="lithology", description="""Hydrocarbon resource main lithology (Additional information: http://petrowiki.org/Lithology_and_rock_type_determination). If \"other\" is specified, please propose entry in \"additional info\" field""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
10986
10981
  'examples': [{'value': 'Volcanic'}],
10987
10982
  'keywords': ['lithology'],
@@ -10997,7 +10992,7 @@ class Biosample(Sample):
10997
10992
  'slot_uri': 'MIXS:0000331',
10998
10993
  'structured_pattern': {'interpolated': True,
10999
10994
  'partial_match': True,
11000
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
10995
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
11001
10996
  magnesium: Optional[QuantityValue] = Field(default=None, title="magnesium", description="""Concentration of magnesium in the sample""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
11002
10997
  'value': 'mole per liter, milligram per '
11003
10998
  'liter, parts per million, '
@@ -11492,11 +11487,11 @@ class Biosample(Sample):
11492
11487
  'slot_uri': 'MIXS:0000316',
11493
11488
  'structured_pattern': {'interpolated': True,
11494
11489
  'partial_match': True,
11495
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
11490
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
11496
11491
  previous_land_use: Optional[str] = Field(default=None, title="history/previous land use", description="""Previous land use and dates""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
11497
11492
  'value': 'land use name;date'}},
11498
11493
  'domain_of': ['Biosample'],
11499
- 'examples': [{'value': 'fallow; 2018-05-11:T14:30Z'}],
11494
+ 'examples': [{'value': 'fallow;2018-05-11T14:30Z'}],
11500
11495
  'keywords': ['history', 'land', 'use'],
11501
11496
  'slot_uri': 'MIXS:0000315',
11502
11497
  'string_serialization': '{text};{timestamp}'} })
@@ -11728,7 +11723,7 @@ class Biosample(Sample):
11728
11723
  'slot_uri': 'MIXS:0001061',
11729
11724
  'structured_pattern': {'interpolated': True,
11730
11725
  'partial_match': True,
11731
- 'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
11726
+ 'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
11732
11727
  root_med_carbon: Optional[TextValue] = Field(default=None, title="rooting medium carbon", description="""Source of organic carbon in the culture rooting medium; e.g. sucrose""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
11733
11728
  'value': 'carbon source name;measurement '
11734
11729
  'value'},
@@ -12290,8 +12285,7 @@ class Biosample(Sample):
12290
12285
  store_cond: Optional[TextValue] = Field(default=None, title="storage conditions", description="""Explain how and for how long the soil sample was stored before DNA extraction (fresh/frozen/other)""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
12291
12286
  'examples': [{'value': '-20 degree Celsius freezer;P2Y10D'}],
12292
12287
  'keywords': ['condition', 'storage'],
12293
- 'slot_uri': 'MIXS:0000327',
12294
- 'structured_pattern': {'syntax': '^{storage_condition_type};{duration}$'}} })
12288
+ 'slot_uri': 'MIXS:0000327'} })
12295
12289
  substructure_type: Optional[list[SubstructureTypeEnum]] = Field(default=[], title="substructure type", description="""The substructure or under building is that largely hidden section of the building which is built off the foundations to the ground floor level""", json_schema_extra = { "linkml_meta": {'domain_of': ['Biosample'],
12296
12290
  'examples': [{'value': 'basement'}],
12297
12291
  'keywords': ['type'],
@@ -12458,7 +12452,7 @@ class Biosample(Sample):
12458
12452
  'slot_uri': 'MIXS:0001070',
12459
12453
  'structured_pattern': {'interpolated': True,
12460
12454
  'partial_match': True,
12461
- 'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
12455
+ 'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
12462
12456
  toluene: Optional[QuantityValue] = Field(default=None, title="toluene", description="""Concentration of toluene in the sample""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
12463
12457
  'value': 'milligram per liter, parts per '
12464
12458
  'million'},
@@ -12550,7 +12544,7 @@ class Biosample(Sample):
12550
12544
  'slot_uri': 'MIXS:0000338',
12551
12545
  'structured_pattern': {'interpolated': True,
12552
12546
  'partial_match': True,
12553
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
12547
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
12554
12548
  tot_nitro_content: Optional[QuantityValue] = Field(default=None, title="total nitrogen content", description="""Total nitrogen content of the sample""", json_schema_extra = { "linkml_meta": {'annotations': {'storage_units': {'tag': 'storage_units',
12555
12549
  'value': 'mg/L|ug/L|umol/L|%'}},
12556
12550
  'domain_of': ['Biosample'],
@@ -12567,7 +12561,7 @@ class Biosample(Sample):
12567
12561
  'slot_uri': 'MIXS:0000337',
12568
12562
  'structured_pattern': {'interpolated': True,
12569
12563
  'partial_match': True,
12570
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
12564
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
12571
12565
  tot_org_carb: Optional[QuantityValue] = Field(default=None, title="total organic carbon", description="""Total organic carbon content""", json_schema_extra = { "linkml_meta": {'annotations': {'Preferred_unit': {'tag': 'Preferred_unit',
12572
12566
  'value': 'gram Carbon per kilogram sample '
12573
12567
  'material'},
@@ -13529,7 +13523,7 @@ class Biosample(Sample):
13529
13523
 
13530
13524
  @field_validator('add_recov_method')
13531
13525
  def pattern_add_recov_method(cls, v):
13532
- pattern=re.compile(r"^(Water Injection|Dump Flood|Gas Injection|Wag Immiscible Injection|Polymer Addition|Surfactant Addition|Not Applicable|other);(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d):([0-5]\d)(\.\d+)?(Z|([+-][01]\d:[0-5]\d))?)?)?)?$$")
13526
+ pattern=re.compile(r"^(Water Injection|Dump Flood|Gas Injection|Wag Immiscible Injection|Polymer Addition|Surfactant Addition|Not Applicable|other);(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?(\.\d+)?(Z|([+-][01]\d:[0-5]\d))?)?)?)?$")
13533
13527
  if isinstance(v, list):
13534
13528
  for element in v:
13535
13529
  if isinstance(element, str) and not pattern.match(element):
@@ -13568,7 +13562,7 @@ class Biosample(Sample):
13568
13562
 
13569
13563
  @field_validator('agrochem_addition')
13570
13564
  def pattern_agrochem_addition(cls, v):
13571
- pattern=re.compile(r"^.*;[-+]?[0-9]*\.?[0-9]+ ([^\s-]{1,2}|[^\s-]+.+[^\s-]+);(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d):([0-5]\d)(\.\d+)?(Z|([+-][01]\d:[0-5]\d))?)?)?)?$$")
13565
+ pattern=re.compile(r"^.*;[-+]?[0-9]*\.?[0-9]+ ([^\s-]{1,2}|[^\s-]+.+[^\s-]+);(\d{4})(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01])(T([01]\d|2[0-3]):([0-5]\d)(:([0-5]\d))?(\.\d+)?(Z|([+-][01]\d:[0-5]\d))?)?)?)?$")
13572
13566
  if isinstance(v, list):
13573
13567
  for element in v:
13574
13568
  if isinstance(element, str) and not pattern.match(element):
@@ -13620,7 +13614,7 @@ class Biosample(Sample):
13620
13614
 
13621
13615
  @field_validator('al_sat_meth')
13622
13616
  def pattern_al_sat_meth(cls, v):
13623
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
13617
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
13624
13618
  if isinstance(v, list):
13625
13619
  for element in v:
13626
13620
  if isinstance(element, str) and not pattern.match(element):
@@ -14062,7 +14056,7 @@ class Biosample(Sample):
14062
14056
 
14063
14057
  @field_validator('cult_root_med')
14064
14058
  def pattern_cult_root_med(cls, v):
14065
- pattern=re.compile(r"^.*|^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14059
+ pattern=re.compile(r"^(.*|PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14066
14060
  if isinstance(v, list):
14067
14061
  for element in v:
14068
14062
  if isinstance(element, str) and not pattern.match(element):
@@ -14075,7 +14069,7 @@ class Biosample(Sample):
14075
14069
 
14076
14070
  @field_validator('cur_vegetation_meth')
14077
14071
  def pattern_cur_vegetation_meth(cls, v):
14078
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14072
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14079
14073
  if isinstance(v, list):
14080
14074
  for element in v:
14081
14075
  if isinstance(element, str) and not pattern.match(element):
@@ -14478,7 +14472,7 @@ class Biosample(Sample):
14478
14472
 
14479
14473
  @field_validator('genetic_mod')
14480
14474
  def pattern_genetic_mod(cls, v):
14481
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14475
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14482
14476
  if isinstance(v, list):
14483
14477
  for element in v:
14484
14478
  if isinstance(element, str) and not pattern.match(element):
@@ -14556,7 +14550,7 @@ class Biosample(Sample):
14556
14550
 
14557
14551
  @field_validator('heavy_metals_meth')
14558
14552
  def pattern_heavy_metals_meth(cls, v):
14559
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14553
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14560
14554
  if isinstance(v, list):
14561
14555
  for element in v:
14562
14556
  if isinstance(element, str) and not pattern.match(element):
@@ -14582,7 +14576,7 @@ class Biosample(Sample):
14582
14576
 
14583
14577
  @field_validator('horizon_meth')
14584
14578
  def pattern_horizon_meth(cls, v):
14585
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14579
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14586
14580
  if isinstance(v, list):
14587
14581
  for element in v:
14588
14582
  if isinstance(element, str) and not pattern.match(element):
@@ -14634,7 +14628,7 @@ class Biosample(Sample):
14634
14628
 
14635
14629
  @field_validator('host_growth_cond')
14636
14630
  def pattern_host_growth_cond(cls, v):
14637
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$|.*$")
14631
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)|.*)$")
14638
14632
  if isinstance(v, list):
14639
14633
  for element in v:
14640
14634
  if isinstance(element, str) and not pattern.match(element):
@@ -14777,7 +14771,7 @@ class Biosample(Sample):
14777
14771
 
14778
14772
  @field_validator('link_addit_analys')
14779
14773
  def pattern_link_addit_analys(cls, v):
14780
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14774
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14781
14775
  if isinstance(v, list):
14782
14776
  for element in v:
14783
14777
  if isinstance(element, str) and not pattern.match(element):
@@ -14790,7 +14784,7 @@ class Biosample(Sample):
14790
14784
 
14791
14785
  @field_validator('link_climate_info')
14792
14786
  def pattern_link_climate_info(cls, v):
14793
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14787
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14794
14788
  if isinstance(v, list):
14795
14789
  for element in v:
14796
14790
  if isinstance(element, str) and not pattern.match(element):
@@ -14803,7 +14797,7 @@ class Biosample(Sample):
14803
14797
 
14804
14798
  @field_validator('local_class_meth')
14805
14799
  def pattern_local_class_meth(cls, v):
14806
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
14800
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
14807
14801
  if isinstance(v, list):
14808
14802
  for element in v:
14809
14803
  if isinstance(element, str) and not pattern.match(element):
@@ -15167,7 +15161,7 @@ class Biosample(Sample):
15167
15161
 
15168
15162
  @field_validator('prev_land_use_meth')
15169
15163
  def pattern_prev_land_use_meth(cls, v):
15170
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
15164
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
15171
15165
  if isinstance(v, list):
15172
15166
  for element in v:
15173
15167
  if isinstance(element, str) and not pattern.match(element):
@@ -15362,7 +15356,7 @@ class Biosample(Sample):
15362
15356
 
15363
15357
  @field_validator('root_cond')
15364
15358
  def pattern_root_cond(cls, v):
15365
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$|.*$")
15359
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)|.*)$")
15366
15360
  if isinstance(v, list):
15367
15361
  for element in v:
15368
15362
  if isinstance(element, str) and not pattern.match(element):
@@ -15388,7 +15382,7 @@ class Biosample(Sample):
15388
15382
 
15389
15383
  @field_validator('salinity_meth')
15390
15384
  def pattern_salinity_meth(cls, v):
15391
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
15385
+ pattern=re.compile(r"^PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$")
15392
15386
  if isinstance(v, list):
15393
15387
  for element in v:
15394
15388
  if isinstance(element, str) and not pattern.match(element):
@@ -15672,19 +15666,6 @@ class Biosample(Sample):
15672
15666
  raise ValueError(err_msg)
15673
15667
  return v
15674
15668
 
15675
- @field_validator('store_cond')
15676
- def pattern_store_cond(cls, v):
15677
- pattern=re.compile(r"^([^\s-]{1,2}|[^\s-]+.+[^\s-]+);P(?:(?:\d+D|\d+M(?:\d+D)?|\d+Y(?:\d+M(?:\d+D)?)?)(?:T(?:\d+H(?:\d+M(?:\d+S)?)?|\d+M(?:\d+S)?|\d+S))?|T(?:\d+H(?:\d+M(?:\d+S)?)?|\d+M(?:\d+S)?|\d+S)|\d+W)$")
15678
- if isinstance(v, list):
15679
- for element in v:
15680
- if isinstance(element, str) and not pattern.match(element):
15681
- err_msg = f"Invalid store_cond format: {element}"
15682
- raise ValueError(err_msg)
15683
- elif isinstance(v, str) and not pattern.match(v):
15684
- err_msg = f"Invalid store_cond format: {v}"
15685
- raise ValueError(err_msg)
15686
- return v
15687
-
15688
15669
  @field_validator('sulfate')
15689
15670
  def pattern_sulfate(cls, v):
15690
15671
  pattern=re.compile(r"^[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?( *- *[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?)? *.*$")
@@ -15817,7 +15798,7 @@ class Biosample(Sample):
15817
15798
 
15818
15799
  @field_validator('tiss_cult_growth_med')
15819
15800
  def pattern_tiss_cult_growth_med(cls, v):
15820
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$|.*$")
15801
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)|.*)$")
15821
15802
  if isinstance(v, list):
15822
15803
  for element in v:
15823
15804
  if isinstance(element, str) and not pattern.match(element):
@@ -15921,7 +15902,7 @@ class Biosample(Sample):
15921
15902
 
15922
15903
  @field_validator('tot_nitro_cont_meth')
15923
15904
  def pattern_tot_nitro_cont_meth(cls, v):
15924
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
15905
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
15925
15906
  if isinstance(v, list):
15926
15907
  for element in v:
15927
15908
  if isinstance(element, str) and not pattern.match(element):
@@ -15947,7 +15928,7 @@ class Biosample(Sample):
15947
15928
 
15948
15929
  @field_validator('tot_org_c_meth')
15949
15930
  def pattern_tot_org_c_meth(cls, v):
15950
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
15931
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
15951
15932
  if isinstance(v, list):
15952
15933
  for element in v:
15953
15934
  if isinstance(element, str) and not pattern.match(element):
@@ -16902,7 +16883,7 @@ class LibraryPreparation(MaterialProcessing):
16902
16883
  'slot_uri': 'MIXS:0000038',
16903
16884
  'structured_pattern': {'interpolated': True,
16904
16885
  'partial_match': True,
16905
- 'syntax': '^{PMID}|{DOI}|{URL}$'}} })
16886
+ 'syntax': '^({PMID}|{DOI}|{URL})$'}} })
16906
16887
  pcr_cond: Optional[str] = Field(default=None, title="pcr conditions", description="""Description of reaction conditions and components of polymerase chain reaction performed during library preparation""", json_schema_extra = { "linkml_meta": {'annotations': {'Expected_value': {'tag': 'Expected_value',
16907
16888
  'value': 'initial '
16908
16889
  'denaturation:degrees_minutes;annealing:degrees_minutes;elongation:degrees_minutes;final '
@@ -17013,7 +16994,7 @@ class LibraryPreparation(MaterialProcessing):
17013
16994
 
17014
16995
  @field_validator('nucl_acid_amp')
17015
16996
  def pattern_nucl_acid_amp(cls, v):
17016
- pattern=re.compile(r"^^PMID:\d+$|^doi:10.\d{2,9}/.*$|^https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)$$")
16997
+ pattern=re.compile(r"^(PMID:\d+|doi:10.\d{2,9}/.*|https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*))$")
17017
16998
  if isinstance(v, list):
17018
16999
  for element in v:
17019
17000
  if isinstance(element, str) and not pattern.match(element):
@@ -20929,7 +20910,7 @@ class MetabolomicsAnalysis(WorkflowExecution):
20929
20910
  'syntax': '{id_nmdc_prefix}:(omprc|dgms)-{id_shoulder}-{id_blade}$'}}}})
20930
20911
 
20931
20912
  has_metabolite_identifications: Optional[list[MetaboliteIdentification]] = Field(default=[], json_schema_extra = { "linkml_meta": {'domain_of': ['MetabolomicsAnalysis']} })
20932
- uses_calibration: Optional[str] = Field(default=None, description="""calibration information is used by a process""", json_schema_extra = { "linkml_meta": {'comments': ['Retenion index calibration data generated by a gas '
20913
+ uses_calibration: Optional[list[str]] = Field(default=[], description="""calibration information is used by a process""", json_schema_extra = { "linkml_meta": {'comments': ['Retenion index calibration data generated by a gas '
20933
20914
  'chromatography mass spectromery run is used when analyzing '
20934
20915
  'metabolomics data'],
20935
20916
  'domain_of': ['MetabolomicsAnalysis', 'NomAnalysis'],
@@ -21416,7 +21397,7 @@ class NomAnalysis(WorkflowExecution):
21416
21397
  'structured_pattern': {'interpolated': True,
21417
21398
  'syntax': '{id_nmdc_prefix}:(omprc|dgms)-{id_shoulder}-{id_blade}$'}}}})
21418
21399
 
21419
- uses_calibration: Optional[str] = Field(default=None, description="""calibration information is used by a process""", json_schema_extra = { "linkml_meta": {'comments': ['Retenion index calibration data generated by a gas '
21400
+ uses_calibration: Optional[list[str]] = Field(default=[], description="""calibration information is used by a process""", json_schema_extra = { "linkml_meta": {'comments': ['Retenion index calibration data generated by a gas '
21420
21401
  'chromatography mass spectromery run is used when analyzing '
21421
21402
  'metabolomics data'],
21422
21403
  'domain_of': ['MetabolomicsAnalysis', 'NomAnalysis'],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nmdc_schema
3
- Version: 11.15.0
3
+ Version: 11.16.0
4
4
  Summary: Schema resources for the National Microbiome Data Collaborative (NMDC)
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -27,6 +27,8 @@ Requires-Dist: jsonasobj2 (>=1,<2)
27
27
  Requires-Dist: jsonschema (>=4,<5)
28
28
  Requires-Dist: linkml (>=1.9.6,<2.0.0)
29
29
  Requires-Dist: linkml-runtime (>=1.9.5,<2.0.0)
30
+ Requires-Dist: pyasn1 (>=0.6.2)
31
+ Requires-Dist: pymdown-extensions (>=10.16.1)
30
32
  Requires-Dist: pymongo (>=4.7.2,<5.0.0)
31
33
  Requires-Dist: python-dotenv
32
34
  Requires-Dist: pyyaml (>=6,<7)
@@ -43,6 +43,8 @@ nmdc_schema/migrators/migrator_from_11_0_3_to_11_1_0.py,sha256=3hHXGts_sfre4KuIp
43
43
  nmdc_schema/migrators/migrator_from_11_10_0_to_11_11_0.py,sha256=R4nUrhxRznukwKgkMQy8uuPzn-fE9AaQYNLLNsVOfTk,1354
44
44
  nmdc_schema/migrators/migrator_from_11_11_0_to_11_13_0.py,sha256=p0giuWeWOvxLe22T0QXNWxjzWWqgzJ1ZetpdVCz86IY,1354
45
45
  nmdc_schema/migrators/migrator_from_11_13_0_to_11_14_0.py,sha256=Y6WY3QGn9fVPh_hzyyC0UXX1U0nQNB624v48sJV_Gzo,1354
46
+ nmdc_schema/migrators/migrator_from_11_14_0_to_11_15_1.py,sha256=Tc9py9FB6cM1WHQeIMwcRZhxWfn2iZp0QG0XqVPpyLk,313
47
+ nmdc_schema/migrators/migrator_from_11_15_1_to_11_16_0.py,sha256=eOaECbZENaXAr2lUjHaiNkjQtK5lL2IXCx7hS3CVGrU,1291
46
48
  nmdc_schema/migrators/migrator_from_11_1_0_to_11_2_0.py,sha256=xGaG0oilg0Xvq-P6YOZea3EPQU8fyfcKo-KZl4BhgoM,1183
47
49
  nmdc_schema/migrators/migrator_from_11_3_0_to_11_4_0.py,sha256=XDRsT9KrKlZTOGHQekESZ2XSYD2UDydF1PWTRIeqOVE,1985
48
50
  nmdc_schema/migrators/migrator_from_11_4_0_to_11_5_0.py,sha256=uiFi5USF23lpuAbkDhVufnXxLsM-Aixrj4nw7GY-XO4,357
@@ -111,18 +113,18 @@ nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/__init__.py,sha25
111
113
  nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_1.py,sha256=6MYmrB9yfJ3XFb2QabTcJeycK2tyVO3MtSItns2s9Zg,35421
112
114
  nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_2.py,sha256=wzard2sUTeRS7voVTfPt3_OtafTffnv0o0OyE1OBzA0,2987
113
115
  nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/migrator_from_11_9_1_to_11_10_0_part_3.py,sha256=crm2NEmn0xepEMKWHvCSkfX3G6hRn377f38rq24XlO8,3710
114
- nmdc_schema/nmdc.py,sha256=K9sL0fMkVx9NFKTcveCD1uu_okiclWYyyeAaSUjo_Cc,734561
115
- nmdc_schema/nmdc.schema.json,sha256=5KxRKZq4en-rfbWLoX0cGk5_2IM-ey0zWKbdmn7z5O8,622776
116
+ nmdc_schema/nmdc.py,sha256=Rt5ClvAgY2HiyvJgaieLqlkYWw6v7-WEksgCfdJklBI,734983
117
+ nmdc_schema/nmdc.schema.json,sha256=_2iXMMYYlKg4A9Ue174npcXVV-3s0PA8bsMkhFIQDPw,622908
116
118
  nmdc_schema/nmdc_data.py,sha256=_wNKi5NDxuvvRsJEim2ialX7VJkDBJLRpiTOPpFHBm8,9608
117
- nmdc_schema/nmdc_materialized_patterns.json,sha256=daummpfOXLbNVrqKj-MmkfWhiNDSmPYbgqPcC6fxEeA,867081
118
- nmdc_schema/nmdc_materialized_patterns.schema.json,sha256=6mSNToiVpTakBqeh63bcCYelfduhh5W9YUhd95TDGVc,659454
119
- nmdc_schema/nmdc_materialized_patterns.yaml,sha256=KGnzttVy5LuZO5HAQAVMfyR9Rxp6O1eB3-5oRPchP64,687174
120
- nmdc_schema/nmdc_pydantic.py,sha256=iKXRpWJqmZJm4HuOBJFvFwvlXLQJkIqbq1zeMb1WOJY,1494737
119
+ nmdc_schema/nmdc_materialized_patterns.json,sha256=i2rP_padwBKZb7X4nhESwVLudVCGe9XJwtYIXeq5ixo,867195
120
+ nmdc_schema/nmdc_materialized_patterns.schema.json,sha256=jSalGgIoeh3H9dPZG8dofBQ0zXfxiHfD7pXjY0dctTo,659285
121
+ nmdc_schema/nmdc_materialized_patterns.yaml,sha256=VrgDYngSUKRssKRU97YKHh0beRNHp6mDzZpVh0BOwvM,687168
122
+ nmdc_schema/nmdc_pydantic.py,sha256=SHEn5jxag71AgL_fWvoI4TBgCqgkDqZLOFs8Q74H9q4,1493359
121
123
  nmdc_schema/nmdc_schema_validation_plugin.py,sha256=rjtn1tYhngGyc1AV8vcT8BJ9a_MmHbcK3hRUf9dzPtA,4799
122
124
  nmdc_schema/nmdc_version.py,sha256=DsfEKnmN3LHR831WWELxyfZY6rnP9U8tfygamkrsaHY,2305
123
125
  nmdc_schema/validate_nmdc_json.py,sha256=PVJV2O1qQXMi206HaUKqRNLiLc164OpNYKPURSKN8_E,3148
124
- nmdc_schema-11.15.0.dist-info/METADATA,sha256=bY0FxcDuKunjQljVz0xYZ2wtwcFmINKBIXDL_0iwDGU,5883
125
- nmdc_schema-11.15.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
126
- nmdc_schema-11.15.0.dist-info/entry_points.txt,sha256=ioyD5P6op5Zy68bqg5MafLAryb73rfzyx8YXKItroC8,1531
127
- nmdc_schema-11.15.0.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
128
- nmdc_schema-11.15.0.dist-info/RECORD,,
126
+ nmdc_schema-11.16.0.dist-info/METADATA,sha256=LnuT1xVWESU0z6iierg73QvFcAYBM2IT9NkyKGgdAfI,5961
127
+ nmdc_schema-11.16.0.dist-info/WHEEL,sha256=kJCRJT_g0adfAJzTx2GUMmS80rTJIVHRCfG0DQgLq3o,88
128
+ nmdc_schema-11.16.0.dist-info/entry_points.txt,sha256=ioyD5P6op5Zy68bqg5MafLAryb73rfzyx8YXKItroC8,1531
129
+ nmdc_schema-11.16.0.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
130
+ nmdc_schema-11.16.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.2.1
2
+ Generator: poetry-core 2.3.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any