nmdc-schema 11.15.0__py3-none-any.whl → 11.15.1__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.
- nmdc_schema/nmdc.py +2 -2
- nmdc_schema/nmdc.schema.json +2 -2
- nmdc_schema/nmdc_materialized_patterns.json +55 -53
- nmdc_schema/nmdc_materialized_patterns.schema.json +22 -23
- nmdc_schema/nmdc_materialized_patterns.yaml +50 -52
- nmdc_schema/nmdc_pydantic.py +53 -73
- {nmdc_schema-11.15.0.dist-info → nmdc_schema-11.15.1.dist-info}/METADATA +3 -1
- {nmdc_schema-11.15.0.dist-info → nmdc_schema-11.15.1.dist-info}/RECORD +11 -11
- {nmdc_schema-11.15.0.dist-info → nmdc_schema-11.15.1.dist-info}/WHEEL +1 -1
- {nmdc_schema-11.15.0.dist-info → nmdc_schema-11.15.1.dist-info}/entry_points.txt +0 -0
- {nmdc_schema-11.15.0.dist-info → nmdc_schema-11.15.1.dist-info}/licenses/LICENSE +0 -0
nmdc_schema/nmdc_pydantic.py
CHANGED
|
@@ -30,7 +30,7 @@ from pydantic import (
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
metamodel_version = "None"
|
|
33
|
-
version = "11.15.
|
|
33
|
+
version = "11.15.1"
|
|
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': '
|
|
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': '
|
|
313
|
+
'PMID': {'setting_key': 'PMID', 'setting_value': 'PMID:\\d+'},
|
|
314
314
|
'URL': {'setting_key': 'URL',
|
|
315
|
-
'setting_value': '
|
|
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',
|
|
@@ -8937,17 +8939,10 @@ class Biosample(Sample):
|
|
|
8937
8939
|
"property. It's just a "
|
|
8938
8940
|
'biogeochemical measurement.']},
|
|
8939
8941
|
'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
|
-
';'],
|
|
8942
|
+
'are provided'],
|
|
8946
8943
|
'examples': [{'value': 'https://doi.org/10.3390/ijms9040434'},
|
|
8947
|
-
{'value': '
|
|
8948
|
-
|
|
8949
|
-
'chromium '
|
|
8950
|
-
'https://doi.org/10.1007/s00216-006-0322-8'}],
|
|
8944
|
+
{'value': 'doi:10.1007/BF01056090'},
|
|
8945
|
+
{'value': 'https://doi.org/10.1007/s00216-006-0322-8'}],
|
|
8951
8946
|
'multivalued': True,
|
|
8952
8947
|
'name': 'heavy_metals_meth',
|
|
8953
8948
|
'title': 'heavy metals method/ extreme '
|
|
@@ -9305,7 +9300,7 @@ class Biosample(Sample):
|
|
|
9305
9300
|
'slot_uri': 'MIXS:0000324',
|
|
9306
9301
|
'structured_pattern': {'interpolated': True,
|
|
9307
9302
|
'partial_match': True,
|
|
9308
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'},
|
|
9303
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'},
|
|
9309
9304
|
'todos': ["I think it's weird the way GSC writes the title. I recommend this "
|
|
9310
9305
|
'change. Thoughts?']} })
|
|
9311
9306
|
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 +9859,7 @@ class Biosample(Sample):
|
|
|
9864
9859
|
'keywords': ['culture'],
|
|
9865
9860
|
'slot_uri': 'MIXS:0001041',
|
|
9866
9861
|
'structured_pattern': {'interpolated': True,
|
|
9867
|
-
'syntax': '^{text}|{PMID}|{DOI}|{URL}$'}} })
|
|
9862
|
+
'syntax': '^({text}|{PMID}|{DOI}|{URL})$'}} })
|
|
9868
9863
|
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
9864
|
'value': 'enumeration'}},
|
|
9870
9865
|
'domain_of': ['Biosample'],
|
|
@@ -9914,7 +9909,7 @@ class Biosample(Sample):
|
|
|
9914
9909
|
'slot_uri': 'MIXS:0000314',
|
|
9915
9910
|
'structured_pattern': {'interpolated': True,
|
|
9916
9911
|
'partial_match': True,
|
|
9917
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'},
|
|
9912
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'},
|
|
9918
9913
|
'todos': ["I'm not sure this is a DOI, PMID, or URI. Should pool the "
|
|
9919
9914
|
'community and find out how they accomplish this if provided.']} })
|
|
9920
9915
|
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 +10439,9 @@ class Biosample(Sample):
|
|
|
10444
10439
|
'partial_match': True,
|
|
10445
10440
|
'syntax': '^{scientific_float}( *- '
|
|
10446
10441
|
'*{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
|
|
10442
|
+
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
10443
|
'domain_of': ['Biosample'],
|
|
10449
|
-
'examples': [{'value': '
|
|
10444
|
+
'examples': [{'value': '2 1/d'}],
|
|
10450
10445
|
'keywords': ['frequency'],
|
|
10451
10446
|
'slot_uri': 'MIXS:0000226'} })
|
|
10452
10447
|
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 +10489,8 @@ class Biosample(Sample):
|
|
|
10494
10489
|
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
10490
|
'examples': [{'value': 'PMID:19497774'}],
|
|
10496
10491
|
'slot_uri': 'MIXS:0000859',
|
|
10497
|
-
'structured_pattern': {'interpolated': True,
|
|
10492
|
+
'structured_pattern': {'interpolated': True,
|
|
10493
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
10498
10494
|
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
10495
|
'examples': [{'value': 'USA: Maryland, Bethesda'}],
|
|
10500
10496
|
'keywords': ['geographic', 'location'],
|
|
@@ -10629,18 +10625,16 @@ class Biosample(Sample):
|
|
|
10629
10625
|
"I think it's weird the way GSC writes the title. I recommend this "
|
|
10630
10626
|
"change. Thoughts? I would argue this isn't an extreme unusual "
|
|
10631
10627
|
"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 ;'],
|
|
10628
|
+
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
10629
|
'domain_of': ['Biosample'],
|
|
10636
10630
|
'examples': [{'value': 'https://doi.org/10.3390/ijms9040434'},
|
|
10637
|
-
{'value': '
|
|
10638
|
-
|
|
10631
|
+
{'value': 'doi:10.1007/BF01056090'},
|
|
10632
|
+
{'value': 'https://doi.org/10.1007/s00216-006-0322-8'}],
|
|
10639
10633
|
'keywords': ['extreme', 'method', 'properties', 'unusual'],
|
|
10640
10634
|
'slot_uri': 'MIXS:0000343',
|
|
10641
10635
|
'structured_pattern': {'interpolated': True,
|
|
10642
10636
|
'partial_match': True,
|
|
10643
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
10637
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
10644
10638
|
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
10639
|
'value': 'centimeter'},
|
|
10646
10640
|
'storage_units': {'tag': 'storage_units', 'value': 'cm'}},
|
|
@@ -10664,7 +10658,7 @@ class Biosample(Sample):
|
|
|
10664
10658
|
'slot_uri': 'MIXS:0000321',
|
|
10665
10659
|
'structured_pattern': {'interpolated': True,
|
|
10666
10660
|
'partial_match': True,
|
|
10667
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
10661
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
10668
10662
|
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
10663
|
'value': 'year, day, hour'},
|
|
10670
10664
|
'storage_units': {'tag': 'storage_units', 'value': 'a|d|h'}},
|
|
@@ -10741,7 +10735,7 @@ class Biosample(Sample):
|
|
|
10741
10735
|
'slot_uri': 'MIXS:0000871',
|
|
10742
10736
|
'structured_pattern': {'interpolated': True,
|
|
10743
10737
|
'partial_match': True,
|
|
10744
|
-
'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
|
|
10738
|
+
'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
|
|
10745
10739
|
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
10740
|
'value': 'centimeter, millimeter, meter'},
|
|
10747
10741
|
'storage_units': {'tag': 'storage_units', 'value': 'cm|m|mm'}},
|
|
@@ -10969,7 +10963,7 @@ class Biosample(Sample):
|
|
|
10969
10963
|
'slot_uri': 'MIXS:0000340',
|
|
10970
10964
|
'structured_pattern': {'interpolated': True,
|
|
10971
10965
|
'partial_match': True,
|
|
10972
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
10966
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
10973
10967
|
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
10968
|
'value': 'PMID,DOI or url'}},
|
|
10975
10969
|
'domain_of': ['Biosample'],
|
|
@@ -10981,7 +10975,7 @@ class Biosample(Sample):
|
|
|
10981
10975
|
'slot_uri': 'MIXS:0000328',
|
|
10982
10976
|
'structured_pattern': {'interpolated': True,
|
|
10983
10977
|
'partial_match': True,
|
|
10984
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
10978
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
10985
10979
|
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
10980
|
'examples': [{'value': 'Volcanic'}],
|
|
10987
10981
|
'keywords': ['lithology'],
|
|
@@ -10997,7 +10991,7 @@ class Biosample(Sample):
|
|
|
10997
10991
|
'slot_uri': 'MIXS:0000331',
|
|
10998
10992
|
'structured_pattern': {'interpolated': True,
|
|
10999
10993
|
'partial_match': True,
|
|
11000
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
10994
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
11001
10995
|
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
10996
|
'value': 'mole per liter, milligram per '
|
|
11003
10997
|
'liter, parts per million, '
|
|
@@ -11492,11 +11486,11 @@ class Biosample(Sample):
|
|
|
11492
11486
|
'slot_uri': 'MIXS:0000316',
|
|
11493
11487
|
'structured_pattern': {'interpolated': True,
|
|
11494
11488
|
'partial_match': True,
|
|
11495
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
11489
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
11496
11490
|
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
11491
|
'value': 'land use name;date'}},
|
|
11498
11492
|
'domain_of': ['Biosample'],
|
|
11499
|
-
'examples': [{'value': 'fallow;
|
|
11493
|
+
'examples': [{'value': 'fallow;2018-05-11T14:30Z'}],
|
|
11500
11494
|
'keywords': ['history', 'land', 'use'],
|
|
11501
11495
|
'slot_uri': 'MIXS:0000315',
|
|
11502
11496
|
'string_serialization': '{text};{timestamp}'} })
|
|
@@ -11728,7 +11722,7 @@ class Biosample(Sample):
|
|
|
11728
11722
|
'slot_uri': 'MIXS:0001061',
|
|
11729
11723
|
'structured_pattern': {'interpolated': True,
|
|
11730
11724
|
'partial_match': True,
|
|
11731
|
-
'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
|
|
11725
|
+
'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
|
|
11732
11726
|
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
11727
|
'value': 'carbon source name;measurement '
|
|
11734
11728
|
'value'},
|
|
@@ -12290,8 +12284,7 @@ class Biosample(Sample):
|
|
|
12290
12284
|
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
12285
|
'examples': [{'value': '-20 degree Celsius freezer;P2Y10D'}],
|
|
12292
12286
|
'keywords': ['condition', 'storage'],
|
|
12293
|
-
'slot_uri': 'MIXS:0000327'
|
|
12294
|
-
'structured_pattern': {'syntax': '^{storage_condition_type};{duration}$'}} })
|
|
12287
|
+
'slot_uri': 'MIXS:0000327'} })
|
|
12295
12288
|
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
12289
|
'examples': [{'value': 'basement'}],
|
|
12297
12290
|
'keywords': ['type'],
|
|
@@ -12458,7 +12451,7 @@ class Biosample(Sample):
|
|
|
12458
12451
|
'slot_uri': 'MIXS:0001070',
|
|
12459
12452
|
'structured_pattern': {'interpolated': True,
|
|
12460
12453
|
'partial_match': True,
|
|
12461
|
-
'syntax': '^{PMID}|{DOI}|{URL}|{text}$'}} })
|
|
12454
|
+
'syntax': '^({PMID}|{DOI}|{URL}|{text})$'}} })
|
|
12462
12455
|
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
12456
|
'value': 'milligram per liter, parts per '
|
|
12464
12457
|
'million'},
|
|
@@ -12550,7 +12543,7 @@ class Biosample(Sample):
|
|
|
12550
12543
|
'slot_uri': 'MIXS:0000338',
|
|
12551
12544
|
'structured_pattern': {'interpolated': True,
|
|
12552
12545
|
'partial_match': True,
|
|
12553
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
12546
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
12554
12547
|
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
12548
|
'value': 'mg/L|ug/L|umol/L|%'}},
|
|
12556
12549
|
'domain_of': ['Biosample'],
|
|
@@ -12567,7 +12560,7 @@ class Biosample(Sample):
|
|
|
12567
12560
|
'slot_uri': 'MIXS:0000337',
|
|
12568
12561
|
'structured_pattern': {'interpolated': True,
|
|
12569
12562
|
'partial_match': True,
|
|
12570
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
12563
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
12571
12564
|
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
12565
|
'value': 'gram Carbon per kilogram sample '
|
|
12573
12566
|
'material'},
|
|
@@ -13529,7 +13522,7 @@ class Biosample(Sample):
|
|
|
13529
13522
|
|
|
13530
13523
|
@field_validator('add_recov_method')
|
|
13531
13524
|
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))?)?)?)
|
|
13525
|
+
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
13526
|
if isinstance(v, list):
|
|
13534
13527
|
for element in v:
|
|
13535
13528
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -13568,7 +13561,7 @@ class Biosample(Sample):
|
|
|
13568
13561
|
|
|
13569
13562
|
@field_validator('agrochem_addition')
|
|
13570
13563
|
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))?)?)?)
|
|
13564
|
+
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
13565
|
if isinstance(v, list):
|
|
13573
13566
|
for element in v:
|
|
13574
13567
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -13620,7 +13613,7 @@ class Biosample(Sample):
|
|
|
13620
13613
|
|
|
13621
13614
|
@field_validator('al_sat_meth')
|
|
13622
13615
|
def pattern_al_sat_meth(cls, v):
|
|
13623
|
-
pattern=re.compile(r"
|
|
13616
|
+
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
13617
|
if isinstance(v, list):
|
|
13625
13618
|
for element in v:
|
|
13626
13619
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14062,7 +14055,7 @@ class Biosample(Sample):
|
|
|
14062
14055
|
|
|
14063
14056
|
@field_validator('cult_root_med')
|
|
14064
14057
|
def pattern_cult_root_med(cls, v):
|
|
14065
|
-
pattern=re.compile(r"
|
|
14058
|
+
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
14059
|
if isinstance(v, list):
|
|
14067
14060
|
for element in v:
|
|
14068
14061
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14075,7 +14068,7 @@ class Biosample(Sample):
|
|
|
14075
14068
|
|
|
14076
14069
|
@field_validator('cur_vegetation_meth')
|
|
14077
14070
|
def pattern_cur_vegetation_meth(cls, v):
|
|
14078
|
-
pattern=re.compile(r"
|
|
14071
|
+
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
14072
|
if isinstance(v, list):
|
|
14080
14073
|
for element in v:
|
|
14081
14074
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14478,7 +14471,7 @@ class Biosample(Sample):
|
|
|
14478
14471
|
|
|
14479
14472
|
@field_validator('genetic_mod')
|
|
14480
14473
|
def pattern_genetic_mod(cls, v):
|
|
14481
|
-
pattern=re.compile(r"
|
|
14474
|
+
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
14475
|
if isinstance(v, list):
|
|
14483
14476
|
for element in v:
|
|
14484
14477
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14556,7 +14549,7 @@ class Biosample(Sample):
|
|
|
14556
14549
|
|
|
14557
14550
|
@field_validator('heavy_metals_meth')
|
|
14558
14551
|
def pattern_heavy_metals_meth(cls, v):
|
|
14559
|
-
pattern=re.compile(r"
|
|
14552
|
+
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
14553
|
if isinstance(v, list):
|
|
14561
14554
|
for element in v:
|
|
14562
14555
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14582,7 +14575,7 @@ class Biosample(Sample):
|
|
|
14582
14575
|
|
|
14583
14576
|
@field_validator('horizon_meth')
|
|
14584
14577
|
def pattern_horizon_meth(cls, v):
|
|
14585
|
-
pattern=re.compile(r"
|
|
14578
|
+
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
14579
|
if isinstance(v, list):
|
|
14587
14580
|
for element in v:
|
|
14588
14581
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14634,7 +14627,7 @@ class Biosample(Sample):
|
|
|
14634
14627
|
|
|
14635
14628
|
@field_validator('host_growth_cond')
|
|
14636
14629
|
def pattern_host_growth_cond(cls, v):
|
|
14637
|
-
pattern=re.compile(r"
|
|
14630
|
+
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
14631
|
if isinstance(v, list):
|
|
14639
14632
|
for element in v:
|
|
14640
14633
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14777,7 +14770,7 @@ class Biosample(Sample):
|
|
|
14777
14770
|
|
|
14778
14771
|
@field_validator('link_addit_analys')
|
|
14779
14772
|
def pattern_link_addit_analys(cls, v):
|
|
14780
|
-
pattern=re.compile(r"
|
|
14773
|
+
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
14774
|
if isinstance(v, list):
|
|
14782
14775
|
for element in v:
|
|
14783
14776
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14790,7 +14783,7 @@ class Biosample(Sample):
|
|
|
14790
14783
|
|
|
14791
14784
|
@field_validator('link_climate_info')
|
|
14792
14785
|
def pattern_link_climate_info(cls, v):
|
|
14793
|
-
pattern=re.compile(r"
|
|
14786
|
+
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
14787
|
if isinstance(v, list):
|
|
14795
14788
|
for element in v:
|
|
14796
14789
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -14803,7 +14796,7 @@ class Biosample(Sample):
|
|
|
14803
14796
|
|
|
14804
14797
|
@field_validator('local_class_meth')
|
|
14805
14798
|
def pattern_local_class_meth(cls, v):
|
|
14806
|
-
pattern=re.compile(r"
|
|
14799
|
+
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
14800
|
if isinstance(v, list):
|
|
14808
14801
|
for element in v:
|
|
14809
14802
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -15167,7 +15160,7 @@ class Biosample(Sample):
|
|
|
15167
15160
|
|
|
15168
15161
|
@field_validator('prev_land_use_meth')
|
|
15169
15162
|
def pattern_prev_land_use_meth(cls, v):
|
|
15170
|
-
pattern=re.compile(r"
|
|
15163
|
+
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
15164
|
if isinstance(v, list):
|
|
15172
15165
|
for element in v:
|
|
15173
15166
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -15362,7 +15355,7 @@ class Biosample(Sample):
|
|
|
15362
15355
|
|
|
15363
15356
|
@field_validator('root_cond')
|
|
15364
15357
|
def pattern_root_cond(cls, v):
|
|
15365
|
-
pattern=re.compile(r"
|
|
15358
|
+
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
15359
|
if isinstance(v, list):
|
|
15367
15360
|
for element in v:
|
|
15368
15361
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -15388,7 +15381,7 @@ class Biosample(Sample):
|
|
|
15388
15381
|
|
|
15389
15382
|
@field_validator('salinity_meth')
|
|
15390
15383
|
def pattern_salinity_meth(cls, v):
|
|
15391
|
-
pattern=re.compile(r"
|
|
15384
|
+
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
15385
|
if isinstance(v, list):
|
|
15393
15386
|
for element in v:
|
|
15394
15387
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -15672,19 +15665,6 @@ class Biosample(Sample):
|
|
|
15672
15665
|
raise ValueError(err_msg)
|
|
15673
15666
|
return v
|
|
15674
15667
|
|
|
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
15668
|
@field_validator('sulfate')
|
|
15689
15669
|
def pattern_sulfate(cls, v):
|
|
15690
15670
|
pattern=re.compile(r"^[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?( *- *[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?)? *.*$")
|
|
@@ -15817,7 +15797,7 @@ class Biosample(Sample):
|
|
|
15817
15797
|
|
|
15818
15798
|
@field_validator('tiss_cult_growth_med')
|
|
15819
15799
|
def pattern_tiss_cult_growth_med(cls, v):
|
|
15820
|
-
pattern=re.compile(r"
|
|
15800
|
+
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
15801
|
if isinstance(v, list):
|
|
15822
15802
|
for element in v:
|
|
15823
15803
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -15921,7 +15901,7 @@ class Biosample(Sample):
|
|
|
15921
15901
|
|
|
15922
15902
|
@field_validator('tot_nitro_cont_meth')
|
|
15923
15903
|
def pattern_tot_nitro_cont_meth(cls, v):
|
|
15924
|
-
pattern=re.compile(r"
|
|
15904
|
+
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
15905
|
if isinstance(v, list):
|
|
15926
15906
|
for element in v:
|
|
15927
15907
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -15947,7 +15927,7 @@ class Biosample(Sample):
|
|
|
15947
15927
|
|
|
15948
15928
|
@field_validator('tot_org_c_meth')
|
|
15949
15929
|
def pattern_tot_org_c_meth(cls, v):
|
|
15950
|
-
pattern=re.compile(r"
|
|
15930
|
+
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
15931
|
if isinstance(v, list):
|
|
15952
15932
|
for element in v:
|
|
15953
15933
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -16902,7 +16882,7 @@ class LibraryPreparation(MaterialProcessing):
|
|
|
16902
16882
|
'slot_uri': 'MIXS:0000038',
|
|
16903
16883
|
'structured_pattern': {'interpolated': True,
|
|
16904
16884
|
'partial_match': True,
|
|
16905
|
-
'syntax': '^{PMID}|{DOI}|{URL}$'}} })
|
|
16885
|
+
'syntax': '^({PMID}|{DOI}|{URL})$'}} })
|
|
16906
16886
|
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
16887
|
'value': 'initial '
|
|
16908
16888
|
'denaturation:degrees_minutes;annealing:degrees_minutes;elongation:degrees_minutes;final '
|
|
@@ -17013,7 +16993,7 @@ class LibraryPreparation(MaterialProcessing):
|
|
|
17013
16993
|
|
|
17014
16994
|
@field_validator('nucl_acid_amp')
|
|
17015
16995
|
def pattern_nucl_acid_amp(cls, v):
|
|
17016
|
-
pattern=re.compile(r"
|
|
16996
|
+
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
16997
|
if isinstance(v, list):
|
|
17018
16998
|
for element in v:
|
|
17019
16999
|
if isinstance(element, str) and not pattern.match(element):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nmdc_schema
|
|
3
|
-
Version: 11.15.
|
|
3
|
+
Version: 11.15.1
|
|
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)
|
|
@@ -111,18 +111,18 @@ nmdc_schema/migrators/partials/migrator_from_11_9_1_to_11_10_0/__init__.py,sha25
|
|
|
111
111
|
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
112
|
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
113
|
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=
|
|
115
|
-
nmdc_schema/nmdc.schema.json,sha256
|
|
114
|
+
nmdc_schema/nmdc.py,sha256=qRS6Pnmpc6v7eGI0KKifLlT1XjL2ivrJmpNv-RUfUDg,734561
|
|
115
|
+
nmdc_schema/nmdc.schema.json,sha256=-4Kl1TMmix7dYRSRUqDh9-5w0yuyHThWXWRos6S5-LY,622696
|
|
116
116
|
nmdc_schema/nmdc_data.py,sha256=_wNKi5NDxuvvRsJEim2ialX7VJkDBJLRpiTOPpFHBm8,9608
|
|
117
|
-
nmdc_schema/nmdc_materialized_patterns.json,sha256=
|
|
118
|
-
nmdc_schema/nmdc_materialized_patterns.schema.json,sha256=
|
|
119
|
-
nmdc_schema/nmdc_materialized_patterns.yaml,sha256=
|
|
120
|
-
nmdc_schema/nmdc_pydantic.py,sha256=
|
|
117
|
+
nmdc_schema/nmdc_materialized_patterns.json,sha256=zYelDCg5vw2Xu2sqkJdNSXivLq4nYOMkGFoUOFoANLU,866760
|
|
118
|
+
nmdc_schema/nmdc_materialized_patterns.schema.json,sha256=Zj6OJrAkCNAy834i5aYPswgmu55CwcDgAJyYAJTHVf4,659065
|
|
119
|
+
nmdc_schema/nmdc_materialized_patterns.yaml,sha256=7JrVT3czqz-j2Ks7Dvbva57s4qS9Zz0u0aWzWyA8po4,686820
|
|
120
|
+
nmdc_schema/nmdc_pydantic.py,sha256=WDqucyOgVuhxAk6LJCcU_GExEKH1ItrYT9OcKzFB8d8,1493333
|
|
121
121
|
nmdc_schema/nmdc_schema_validation_plugin.py,sha256=rjtn1tYhngGyc1AV8vcT8BJ9a_MmHbcK3hRUf9dzPtA,4799
|
|
122
122
|
nmdc_schema/nmdc_version.py,sha256=DsfEKnmN3LHR831WWELxyfZY6rnP9U8tfygamkrsaHY,2305
|
|
123
123
|
nmdc_schema/validate_nmdc_json.py,sha256=PVJV2O1qQXMi206HaUKqRNLiLc164OpNYKPURSKN8_E,3148
|
|
124
|
-
nmdc_schema-11.15.
|
|
125
|
-
nmdc_schema-11.15.
|
|
126
|
-
nmdc_schema-11.15.
|
|
127
|
-
nmdc_schema-11.15.
|
|
128
|
-
nmdc_schema-11.15.
|
|
124
|
+
nmdc_schema-11.15.1.dist-info/METADATA,sha256=KaT6c9quHmSLZ4_yVFGyozbDi1c8ICC5dPGKu2-KFew,5961
|
|
125
|
+
nmdc_schema-11.15.1.dist-info/WHEEL,sha256=3ny-bZhpXrU6vSQ1UPG34FoxZBp3lVcvK0LkgUz6VLk,88
|
|
126
|
+
nmdc_schema-11.15.1.dist-info/entry_points.txt,sha256=ioyD5P6op5Zy68bqg5MafLAryb73rfzyx8YXKItroC8,1531
|
|
127
|
+
nmdc_schema-11.15.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
|
|
128
|
+
nmdc_schema-11.15.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|