mhd-model 0.1.40__tar.gz → 0.1.42__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.
- {mhd_model-0.1.40 → mhd_model-0.1.42}/PKG-INFO +1 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/__init__.py +1 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/v0_1/legacy/mhd2announce.py +5 -3
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/v0_1/ms/mhd2announce.py +8 -3
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/graph_nodes.py +2 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/graph_validation.py +48 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/legacy/graph_validation.py +48 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/ms/graph_validation.py +48 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/announcement-v0.1.legacy-profile.json +1 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/announcement-v0.1.ms-profile.json +1 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/announcement-v0.1.schema.json +1 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/common-data-model-v0.1.legacy-profile.json +25 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/common-data-model-v0.1.ms-profile.json +25 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/common-data-model-v0.1.schema.json +25 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model.egg-info/PKG-INFO +1 -1
- {mhd_model-0.1.40 → mhd_model-0.1.42}/pyproject.toml +2 -2
- {mhd_model-0.1.40 → mhd_model-0.1.42}/LICENSE +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/README.md +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/cli.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/create/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/create/announcement.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/create/create.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/create/neo4j_input.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/create/sdrf.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/validate/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/validate/announcement.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/validate/mhd_file.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/commands/validate/validate.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/v0_1/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/v0_1/legacy/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/v0_1/ms/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/mhd/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/mhd/convertor.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/neo4j_enabled_data/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/neo4j_enabled_data/v0_1/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/neo4j_enabled_data/v0_1/legacy/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/neo4j_enabled_data/v0_1/legacy/convertor.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/sdrf/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/sdrf/mhd2sdrf.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/domain_utils.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/log_utils.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/mhd_client.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/definitions.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/base/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/base/profile.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/legacy/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/legacy/profile.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/ms/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/ms/fields.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/ms/profile.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/validation/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/validation/base.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/validation/definitions.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/validation/validator.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/base.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/dataset_builder.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/profile.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/relationships.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/legacy/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/legacy/profile.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/ms/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/ms/profile.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/base.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/profile/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/profile/base.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/profile/definition.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/utils.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/validator.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/rules/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/rules/cv_definitions.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/rules/managed_cv_terms.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/rules/predefined_cv_terms.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/sdrf/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/sdrf/model.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schema_utils.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/exceptions.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/fields.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/model.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/validation/__init__.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/validation/cv_term_helper.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/validation/definitions.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/validation/registry.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/shared/validation/validators.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/utils.py +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model.egg-info/SOURCES.txt +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model.egg-info/dependency_links.txt +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model.egg-info/entry_points.txt +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model.egg-info/requires.txt +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model.egg-info/top_level.txt +0 -0
- {mhd_model-0.1.40 → mhd_model-0.1.42}/setup.cfg +0 -0
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/v0_1/legacy/mhd2announce.py
RENAMED
|
@@ -339,9 +339,9 @@ def create_announcement_file(
|
|
|
339
339
|
characteristic_values = get_characteristic_values(all_nodes_map, relationships_map)
|
|
340
340
|
|
|
341
341
|
if not mhd_file_url:
|
|
342
|
-
|
|
343
|
-
if
|
|
344
|
-
mhd_file_url = f"{
|
|
342
|
+
http = [str(x) for x in study.dataset_url_list if str(x).startswith("http://")]
|
|
343
|
+
if http:
|
|
344
|
+
mhd_file_url = f"{http[0]}/{study.repository_identifier}.mhd.json"
|
|
345
345
|
|
|
346
346
|
announcement = AnnouncementLegacyProfile(
|
|
347
347
|
repository_name=mhd_dataset.repository_name,
|
|
@@ -349,6 +349,8 @@ def create_announcement_file(
|
|
|
349
349
|
repository_identifier=study.repository_identifier,
|
|
350
350
|
schema_name=announcement_schema_name,
|
|
351
351
|
profile_uri=announcement_profile_uri,
|
|
352
|
+
revision=mhd_dataset.repository_revision,
|
|
353
|
+
revision_datetime=mhd_dataset.repository_revision_datetime,
|
|
352
354
|
mhd_metadata_file_url=AnyUrl(mhd_file_url),
|
|
353
355
|
dataset_url_list=dataset_url_list,
|
|
354
356
|
license=study.license,
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/v0_1/ms/mhd2announce.py
RENAMED
|
@@ -261,8 +261,12 @@ def create_announcement_file(
|
|
|
261
261
|
announcement_profile_uri=ANNOUNCEMENT_FILE_V0_1_LEGACY_PROFILE_NAME,
|
|
262
262
|
):
|
|
263
263
|
mhd_dataset = MhDatasetMsProfile.model_validate(mhd_file)
|
|
264
|
-
nodes_map
|
|
265
|
-
|
|
264
|
+
nodes_map: dict[str, IdentifiableMhdModel] = {
|
|
265
|
+
x.id_: x for x in mhd_dataset.graph.nodes
|
|
266
|
+
}
|
|
267
|
+
relationships_map: dict[str, BaseMhdRelationship] = {
|
|
268
|
+
x.id_: x for x in mhd_dataset.graph.relationships
|
|
269
|
+
}
|
|
266
270
|
|
|
267
271
|
all_nodes_map: dict[str, BaseMhdModel] = {}
|
|
268
272
|
type_map: dict[str, dict[str, BaseMhdModel]] = {}
|
|
@@ -279,7 +283,7 @@ def create_announcement_file(
|
|
|
279
283
|
relationship_name_map[rel.relationship_name][rel.id_] = rel
|
|
280
284
|
|
|
281
285
|
if "study" not in type_map:
|
|
282
|
-
logger.
|
|
286
|
+
logger.error("Study not found for in the input file")
|
|
283
287
|
return
|
|
284
288
|
study: graph_nodes.Study = list(type_map["study"].values())[0]
|
|
285
289
|
|
|
@@ -293,6 +297,7 @@ def create_announcement_file(
|
|
|
293
297
|
type_map["publication"].values()
|
|
294
298
|
)
|
|
295
299
|
for node in graph_publications:
|
|
300
|
+
relationships_map.get()
|
|
296
301
|
item = AnnouncementPublication.model_validate(
|
|
297
302
|
node.model_dump(by_alias=True)
|
|
298
303
|
)
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/graph_nodes.py
RENAMED
|
@@ -32,6 +32,7 @@ class Person(BaseLabeledMhdModel):
|
|
|
32
32
|
description="The value of this property MUST be 'person'",
|
|
33
33
|
),
|
|
34
34
|
] = "person"
|
|
35
|
+
repository_identifier: Annotated[None | str, Field()] = None
|
|
35
36
|
full_name: Annotated[
|
|
36
37
|
None | str, Field(min_length=2, description="Full name of person")
|
|
37
38
|
] = None
|
|
@@ -91,6 +92,7 @@ class Project(BaseLabeledMhdModel):
|
|
|
91
92
|
),
|
|
92
93
|
] = "project"
|
|
93
94
|
title: Annotated[None | str, Field(min_length=2)] = None
|
|
95
|
+
repository_identifier: Annotated[None | str, Field()] = None
|
|
94
96
|
description: Annotated[None | str, Field()] = None
|
|
95
97
|
grant_identifier_list: Annotated[None | list[GrantId], Field()] = None
|
|
96
98
|
doi: Annotated[None | DOI, Field()] = None
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/graph_validation.py
RENAMED
|
@@ -339,6 +339,14 @@ MHD_BASE_VALIDATION_V0_1.mhd_nodes = [
|
|
|
339
339
|
min=0,
|
|
340
340
|
min_for_each_source=0,
|
|
341
341
|
),
|
|
342
|
+
RelationshipValidation(
|
|
343
|
+
source="metadata-file",
|
|
344
|
+
relationship_name="reports",
|
|
345
|
+
reverse_relationship_name="reported-in",
|
|
346
|
+
target="metabolite",
|
|
347
|
+
min=0,
|
|
348
|
+
min_for_each_source=0,
|
|
349
|
+
),
|
|
342
350
|
],
|
|
343
351
|
),
|
|
344
352
|
NodeValidation(
|
|
@@ -376,6 +384,30 @@ MHD_BASE_VALIDATION_V0_1.mhd_nodes = [
|
|
|
376
384
|
min=0,
|
|
377
385
|
min_for_each_source=1,
|
|
378
386
|
),
|
|
387
|
+
RelationshipValidation(
|
|
388
|
+
source="metabolite",
|
|
389
|
+
relationship_name="reported-in",
|
|
390
|
+
reverse_relationship_name="reports",
|
|
391
|
+
target="metadata-file",
|
|
392
|
+
min=0,
|
|
393
|
+
min_for_each_source=0,
|
|
394
|
+
),
|
|
395
|
+
RelationshipValidation(
|
|
396
|
+
source="metabolite",
|
|
397
|
+
relationship_name="reported-in",
|
|
398
|
+
reverse_relationship_name="reports",
|
|
399
|
+
target="result-file",
|
|
400
|
+
min=0,
|
|
401
|
+
min_for_each_source=0,
|
|
402
|
+
),
|
|
403
|
+
RelationshipValidation(
|
|
404
|
+
source="metabolite",
|
|
405
|
+
relationship_name="measured-in",
|
|
406
|
+
reverse_relationship_name="measures",
|
|
407
|
+
target="raw-data-file",
|
|
408
|
+
min=0,
|
|
409
|
+
min_for_each_source=0,
|
|
410
|
+
),
|
|
379
411
|
],
|
|
380
412
|
),
|
|
381
413
|
NodeValidation(
|
|
@@ -777,6 +809,14 @@ MHD_BASE_VALIDATION_V0_1.mhd_nodes = [
|
|
|
777
809
|
min=0,
|
|
778
810
|
min_for_each_source=0,
|
|
779
811
|
),
|
|
812
|
+
RelationshipValidation(
|
|
813
|
+
source="raw-data-file",
|
|
814
|
+
relationship_name="measures",
|
|
815
|
+
reverse_relationship_name="measured-in",
|
|
816
|
+
target="metabolite",
|
|
817
|
+
min=0,
|
|
818
|
+
min_for_each_source=0,
|
|
819
|
+
),
|
|
780
820
|
],
|
|
781
821
|
),
|
|
782
822
|
NodeValidation(
|
|
@@ -819,6 +859,14 @@ MHD_BASE_VALIDATION_V0_1.mhd_nodes = [
|
|
|
819
859
|
min=0,
|
|
820
860
|
min_for_each_source=0,
|
|
821
861
|
),
|
|
862
|
+
RelationshipValidation(
|
|
863
|
+
source="result-file",
|
|
864
|
+
relationship_name="reports",
|
|
865
|
+
reverse_relationship_name="reported-in",
|
|
866
|
+
target="metabolite",
|
|
867
|
+
min=0,
|
|
868
|
+
min_for_each_source=0,
|
|
869
|
+
),
|
|
822
870
|
],
|
|
823
871
|
),
|
|
824
872
|
NodeValidation(
|
|
@@ -333,6 +333,14 @@ MHD_LEGACY_PROFILE_V0_1.mhd_nodes = [
|
|
|
333
333
|
min=0,
|
|
334
334
|
min_for_each_source=0,
|
|
335
335
|
),
|
|
336
|
+
RelationshipValidation(
|
|
337
|
+
source="metadata-file",
|
|
338
|
+
relationship_name="reports",
|
|
339
|
+
reverse_relationship_name="reported-in",
|
|
340
|
+
target="metabolite",
|
|
341
|
+
min=0,
|
|
342
|
+
min_for_each_source=0,
|
|
343
|
+
),
|
|
336
344
|
],
|
|
337
345
|
),
|
|
338
346
|
NodeValidation(
|
|
@@ -370,6 +378,30 @@ MHD_LEGACY_PROFILE_V0_1.mhd_nodes = [
|
|
|
370
378
|
min=0,
|
|
371
379
|
min_for_each_source=1,
|
|
372
380
|
),
|
|
381
|
+
RelationshipValidation(
|
|
382
|
+
source="metabolite",
|
|
383
|
+
relationship_name="reported-in",
|
|
384
|
+
reverse_relationship_name="reports",
|
|
385
|
+
target="metadata-file",
|
|
386
|
+
min=0,
|
|
387
|
+
min_for_each_source=0,
|
|
388
|
+
),
|
|
389
|
+
RelationshipValidation(
|
|
390
|
+
source="metabolite",
|
|
391
|
+
relationship_name="reported-in",
|
|
392
|
+
reverse_relationship_name="reports",
|
|
393
|
+
target="result-file",
|
|
394
|
+
min=0,
|
|
395
|
+
min_for_each_source=0,
|
|
396
|
+
),
|
|
397
|
+
RelationshipValidation(
|
|
398
|
+
source="metabolite",
|
|
399
|
+
relationship_name="measured-in",
|
|
400
|
+
reverse_relationship_name="measures",
|
|
401
|
+
target="raw-data-file",
|
|
402
|
+
min=0,
|
|
403
|
+
min_for_each_source=0,
|
|
404
|
+
),
|
|
373
405
|
],
|
|
374
406
|
),
|
|
375
407
|
NodeValidation(
|
|
@@ -771,6 +803,14 @@ MHD_LEGACY_PROFILE_V0_1.mhd_nodes = [
|
|
|
771
803
|
min=0,
|
|
772
804
|
min_for_each_source=0,
|
|
773
805
|
),
|
|
806
|
+
RelationshipValidation(
|
|
807
|
+
source="raw-data-file",
|
|
808
|
+
relationship_name="measures",
|
|
809
|
+
reverse_relationship_name="measured-in",
|
|
810
|
+
target="metabolite",
|
|
811
|
+
min=0,
|
|
812
|
+
min_for_each_source=0,
|
|
813
|
+
),
|
|
774
814
|
],
|
|
775
815
|
),
|
|
776
816
|
NodeValidation(
|
|
@@ -818,6 +858,14 @@ MHD_LEGACY_PROFILE_V0_1.mhd_nodes = [
|
|
|
818
858
|
min=0,
|
|
819
859
|
min_for_each_source=0,
|
|
820
860
|
),
|
|
861
|
+
RelationshipValidation(
|
|
862
|
+
source="result-file",
|
|
863
|
+
relationship_name="reports",
|
|
864
|
+
reverse_relationship_name="reported-in",
|
|
865
|
+
target="metabolite",
|
|
866
|
+
min=0,
|
|
867
|
+
min_for_each_source=0,
|
|
868
|
+
),
|
|
821
869
|
],
|
|
822
870
|
),
|
|
823
871
|
NodeValidation(
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/ms/graph_validation.py
RENAMED
|
@@ -337,6 +337,14 @@ MHD_MS_PROFILE_V0_1.mhd_nodes = [
|
|
|
337
337
|
min=0,
|
|
338
338
|
min_for_each_source=0,
|
|
339
339
|
),
|
|
340
|
+
RelationshipValidation(
|
|
341
|
+
source="metadata-file",
|
|
342
|
+
relationship_name="reports",
|
|
343
|
+
reverse_relationship_name="reported-in",
|
|
344
|
+
target="metabolite",
|
|
345
|
+
min=0,
|
|
346
|
+
min_for_each_source=0,
|
|
347
|
+
),
|
|
340
348
|
],
|
|
341
349
|
),
|
|
342
350
|
NodeValidation(
|
|
@@ -374,6 +382,30 @@ MHD_MS_PROFILE_V0_1.mhd_nodes = [
|
|
|
374
382
|
min=0,
|
|
375
383
|
min_for_each_source=1,
|
|
376
384
|
),
|
|
385
|
+
RelationshipValidation(
|
|
386
|
+
source="metabolite",
|
|
387
|
+
relationship_name="reported-in",
|
|
388
|
+
reverse_relationship_name="reports",
|
|
389
|
+
target="metadata-file",
|
|
390
|
+
min=0,
|
|
391
|
+
min_for_each_source=0,
|
|
392
|
+
),
|
|
393
|
+
RelationshipValidation(
|
|
394
|
+
source="metabolite",
|
|
395
|
+
relationship_name="reported-in",
|
|
396
|
+
reverse_relationship_name="reports",
|
|
397
|
+
target="result-file",
|
|
398
|
+
min=0,
|
|
399
|
+
min_for_each_source=0,
|
|
400
|
+
),
|
|
401
|
+
RelationshipValidation(
|
|
402
|
+
source="metabolite",
|
|
403
|
+
relationship_name="measured-in",
|
|
404
|
+
reverse_relationship_name="measures",
|
|
405
|
+
target="raw-data-file",
|
|
406
|
+
min=0,
|
|
407
|
+
min_for_each_source=0,
|
|
408
|
+
),
|
|
377
409
|
],
|
|
378
410
|
),
|
|
379
411
|
NodeValidation(
|
|
@@ -780,6 +812,14 @@ MHD_MS_PROFILE_V0_1.mhd_nodes = [
|
|
|
780
812
|
min=0,
|
|
781
813
|
min_for_each_source=0,
|
|
782
814
|
),
|
|
815
|
+
RelationshipValidation(
|
|
816
|
+
source="raw-data-file",
|
|
817
|
+
relationship_name="measures",
|
|
818
|
+
reverse_relationship_name="measured-in",
|
|
819
|
+
target="metabolite",
|
|
820
|
+
min=0,
|
|
821
|
+
min_for_each_source=0,
|
|
822
|
+
),
|
|
783
823
|
],
|
|
784
824
|
),
|
|
785
825
|
NodeValidation(
|
|
@@ -827,6 +867,14 @@ MHD_MS_PROFILE_V0_1.mhd_nodes = [
|
|
|
827
867
|
min=0,
|
|
828
868
|
min_for_each_source=0,
|
|
829
869
|
),
|
|
870
|
+
RelationshipValidation(
|
|
871
|
+
source="result-file",
|
|
872
|
+
relationship_name="reports",
|
|
873
|
+
reverse_relationship_name="reported-in",
|
|
874
|
+
target="metabolite",
|
|
875
|
+
min=0,
|
|
876
|
+
min_for_each_source=0,
|
|
877
|
+
),
|
|
830
878
|
],
|
|
831
879
|
),
|
|
832
880
|
NodeValidation(
|
|
@@ -1650,6 +1650,18 @@
|
|
|
1650
1650
|
"default": null,
|
|
1651
1651
|
"title": "Label"
|
|
1652
1652
|
},
|
|
1653
|
+
"repository_identifier": {
|
|
1654
|
+
"anyOf": [
|
|
1655
|
+
{
|
|
1656
|
+
"type": "string"
|
|
1657
|
+
},
|
|
1658
|
+
{
|
|
1659
|
+
"type": "null"
|
|
1660
|
+
}
|
|
1661
|
+
],
|
|
1662
|
+
"default": null,
|
|
1663
|
+
"title": "Repository Identifier"
|
|
1664
|
+
},
|
|
1653
1665
|
"full_name": {
|
|
1654
1666
|
"anyOf": [
|
|
1655
1667
|
{
|
|
@@ -1861,6 +1873,18 @@
|
|
|
1861
1873
|
"default": null,
|
|
1862
1874
|
"title": "Title"
|
|
1863
1875
|
},
|
|
1876
|
+
"repository_identifier": {
|
|
1877
|
+
"anyOf": [
|
|
1878
|
+
{
|
|
1879
|
+
"type": "string"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"type": "null"
|
|
1883
|
+
}
|
|
1884
|
+
],
|
|
1885
|
+
"default": null,
|
|
1886
|
+
"title": "Repository Identifier"
|
|
1887
|
+
},
|
|
1864
1888
|
"description": {
|
|
1865
1889
|
"anyOf": [
|
|
1866
1890
|
{
|
|
@@ -4349,4 +4373,4 @@
|
|
|
4349
4373
|
],
|
|
4350
4374
|
"title": "MhDatasetLegacyProfile",
|
|
4351
4375
|
"type": "object"
|
|
4352
|
-
}
|
|
4376
|
+
}
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/common-data-model-v0.1.ms-profile.json
RENAMED
|
@@ -1650,6 +1650,18 @@
|
|
|
1650
1650
|
"default": null,
|
|
1651
1651
|
"title": "Label"
|
|
1652
1652
|
},
|
|
1653
|
+
"repository_identifier": {
|
|
1654
|
+
"anyOf": [
|
|
1655
|
+
{
|
|
1656
|
+
"type": "string"
|
|
1657
|
+
},
|
|
1658
|
+
{
|
|
1659
|
+
"type": "null"
|
|
1660
|
+
}
|
|
1661
|
+
],
|
|
1662
|
+
"default": null,
|
|
1663
|
+
"title": "Repository Identifier"
|
|
1664
|
+
},
|
|
1653
1665
|
"full_name": {
|
|
1654
1666
|
"anyOf": [
|
|
1655
1667
|
{
|
|
@@ -1861,6 +1873,18 @@
|
|
|
1861
1873
|
"default": null,
|
|
1862
1874
|
"title": "Title"
|
|
1863
1875
|
},
|
|
1876
|
+
"repository_identifier": {
|
|
1877
|
+
"anyOf": [
|
|
1878
|
+
{
|
|
1879
|
+
"type": "string"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"type": "null"
|
|
1883
|
+
}
|
|
1884
|
+
],
|
|
1885
|
+
"default": null,
|
|
1886
|
+
"title": "Repository Identifier"
|
|
1887
|
+
},
|
|
1864
1888
|
"description": {
|
|
1865
1889
|
"anyOf": [
|
|
1866
1890
|
{
|
|
@@ -4349,4 +4373,4 @@
|
|
|
4349
4373
|
],
|
|
4350
4374
|
"title": "MhDatasetMsProfile",
|
|
4351
4375
|
"type": "object"
|
|
4352
|
-
}
|
|
4376
|
+
}
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/schemas/mhd/common-data-model-v0.1.schema.json
RENAMED
|
@@ -1650,6 +1650,18 @@
|
|
|
1650
1650
|
"default": null,
|
|
1651
1651
|
"title": "Label"
|
|
1652
1652
|
},
|
|
1653
|
+
"repository_identifier": {
|
|
1654
|
+
"anyOf": [
|
|
1655
|
+
{
|
|
1656
|
+
"type": "string"
|
|
1657
|
+
},
|
|
1658
|
+
{
|
|
1659
|
+
"type": "null"
|
|
1660
|
+
}
|
|
1661
|
+
],
|
|
1662
|
+
"default": null,
|
|
1663
|
+
"title": "Repository Identifier"
|
|
1664
|
+
},
|
|
1653
1665
|
"full_name": {
|
|
1654
1666
|
"anyOf": [
|
|
1655
1667
|
{
|
|
@@ -1861,6 +1873,18 @@
|
|
|
1861
1873
|
"default": null,
|
|
1862
1874
|
"title": "Title"
|
|
1863
1875
|
},
|
|
1876
|
+
"repository_identifier": {
|
|
1877
|
+
"anyOf": [
|
|
1878
|
+
{
|
|
1879
|
+
"type": "string"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"type": "null"
|
|
1883
|
+
}
|
|
1884
|
+
],
|
|
1885
|
+
"default": null,
|
|
1886
|
+
"title": "Repository Identifier"
|
|
1887
|
+
},
|
|
1864
1888
|
"description": {
|
|
1865
1889
|
"anyOf": [
|
|
1866
1890
|
{
|
|
@@ -4349,4 +4373,4 @@
|
|
|
4349
4373
|
],
|
|
4350
4374
|
"title": "MhDatasetBaseProfile",
|
|
4351
4375
|
"type": "object"
|
|
4352
|
-
}
|
|
4376
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "mhd-model"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.42"
|
|
4
4
|
description = "MetabolomicsHub Common Data Model"
|
|
5
5
|
authors = [{"name"="MetabolomicsHub Team", "email"="help@metabolomicshub.org"}]
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -62,7 +62,7 @@ test = [
|
|
|
62
62
|
[tool.commitizen]
|
|
63
63
|
name = "cz_conventional_commits"
|
|
64
64
|
version_provider = "uv"
|
|
65
|
-
version = "0.1.
|
|
65
|
+
version = "0.1.42"
|
|
66
66
|
tag_format = "v$major.$minor.$patch"
|
|
67
67
|
version_files = [
|
|
68
68
|
"pyproject.toml:version",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/announcement/v0_1/legacy/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/convertors/neo4j_enabled_data/v0_1/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/__init__.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/base/__init__.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/base/profile.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/legacy/__init__.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/legacy/profile.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/ms/__init__.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/ms/fields.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/profiles/ms/profile.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/validation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/validation/definitions.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/announcement/validation/validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/dataset_builder.py
RENAMED
|
File without changes
|
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/base/relationships.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/legacy/__init__.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/profiles/legacy/profile.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/profile/__init__.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/profile/base.py
RENAMED
|
File without changes
|
{mhd_model-0.1.40 → mhd_model-0.1.42}/mhd_model/model/v0_1/dataset/validation/profile/definition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|