Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Fix for using Biolink Model in PHENIO transform #137

Conversation

caufieldjh
Copy link
Contributor

No description provided.

@caufieldjh caufieldjh linked an issue Mar 7, 2024 that may be closed by this pull request
@caufieldjh
Copy link
Contributor Author

Encountering a new issue with the new Biolink:

Found KGX TSV edges at data/transformed/phenio/PhenioTransform_edges.tsv.
Adding node sources using kg_phenio/transform_utils/phenio/phenio_node_sources.yaml
2024-03-07_13:11:23 | INFO     | koza.app         | Transforming source: phenio_node_sources
Traceback (most recent call last):
  File "/home/harry/kg-phenio/run.py", line 100, in <module>
    cli()
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/harry/kg-phenio/run.py", line 75, in transform
    kg_transform(*args, **kwargs)
  File "/home/harry/kg-phenio/kg_phenio/transform.py", line 36, in transform
    t.run()
  File "/home/harry/kg-phenio/kg_phenio/transform_utils/phenio/phenio_transform.py", line 73, in run
    self.parse(k, data_file, k)
  File "/home/harry/kg-phenio/kg_phenio/transform_utils/phenio/phenio_transform.py", line 181, in parse
    transform_source(
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/koza/cli_runner.py", line 86, in transform_source
    koza_app.process_sources()
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/koza/app.py", line 100, in process_sources
    transform_module = importlib.import_module(transform_code)
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/harry/kg-phenio/kg_phenio/transform_utils/phenio/phenio_node_sources.py", line 125, in <module>
    importlib.import_module("biolink_model.datamodel.pydanticmodel_v2"), category_name
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/biolink_model/datamodel/pydanticmodel_v2.py", line 505, in <module>
    class NamedThing(Entity):
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py", line 183, in __new__
    complete_model_class(
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py", line 517, in complete_model_class
    schema = cls.__get_pydantic_core_schema__(cls, handler)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/main.py", line 584, in __get_pydantic_core_schema__
    return __handler(__source)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
    schema = self._handler(__source_type)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 499, in generate_schema
    schema = self._generate_schema(obj)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 737, in _generate_schema
    schema = self._post_process_generated_schema(self._generate_schema_inner(obj))
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 759, in _generate_schema_inner
    return self._model_schema(obj)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 572, in _model_schema
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 572, in <dictcomp>
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 923, in _generate_md_field_schema
    common_field = self._common_field_schema(name, field_info, decorators)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 1045, in _common_field_schema
    schema = self._apply_annotations(
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 1719, in _apply_annotations
    res = self._get_prepare_pydantic_annotations_for_known_type(source_type, tuple(annotations))
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 1700, in _get_prepare_pydantic_annotations_for_known_type
    res = gen(obj, annotations, self._config_wrapper.config_dict)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_std_types_schema.py", line 411, in sequence_like_prepare_pydantic_annotations
    _known_annotated_metadata.check_metadata(metadata, _known_annotated_metadata.SEQUENCE_CONSTRAINTS, source_type)
  File "/home/harry/kg-phenio/.venv/lib/python3.9/site-packages/pydantic/_internal/_known_annotated_metadata.py", line 408, in check_metadata
    raise TypeError(
TypeError: The following constraints cannot be applied to typing.List[typing.Literal['https://w3id.org/biolink/vocab/NamedThing', 'biolink:NamedThing']]: 'pattern'

@caufieldjh
Copy link
Contributor Author

With biolink-model most recent from GH repo (commit 82745c2), this appears to work as expected

@caufieldjh caufieldjh marked this pull request as ready for review March 10, 2024 23:14
@caufieldjh caufieldjh merged commit 12cea56 into master Mar 10, 2024
2 checks passed
@caufieldjh caufieldjh deleted the 136-build-fails-due-to-modulenotfounderror-no-module-named-biolink branch March 10, 2024 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build fails due to ModuleNotFoundError: No module named 'biolink'
1 participant