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 tests: Synonym Sync #690

Closed
joeflack4 opened this issue Nov 17, 2024 · 0 comments · Fixed by #705
Closed

Fix tests: Synonym Sync #690

joeflack4 opened this issue Nov 17, 2024 · 0 comments · Fixed by #705
Assignees
Labels
bug Something isn't working qc / test

Comments

@joeflack4
Copy link
Contributor

Overview

Due to some refactoring these tests are failing.

Details

/Users/joeflack4/virtualenvs/mondo-ingest/bin/python /Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/[pydevd.py](http://pydevd.py/) --multiprocess --qt-support=auto --client 127.0.0.1 --port 55914 --file /Applications/PyCharm.app/Contents/plugins/python/helpers/pycharm/_jb_pytest_runner.py --path /Users/joeflack4/projects/mondo-ingest/tests/[test_sync_synonym.py](http://test_sync_synonym.py/) 
Testing started at 4:09 PM ...
Connected to pydev debugger (build 233.15325.20)
Launching pytest with arguments /Users/joeflack4/projects/mondo-ingest/tests/[test_sync_synonym.py](http://test_sync_synonym.py/) --no-header --no-summary -q in /Users/joeflack4/projects/mondo-ingest/tests

============================= test session starts ==============================
collecting ... collected 4 items

[test_sync_synonym.py](http://test_sync_synonym.py/)::TestSyncSynonyms::test_added 
[test_sync_synonym.py](http://test_sync_synonym.py/)::TestSyncSynonyms::test_confirmed 
[test_sync_synonym.py](http://test_sync_synonym.py/)::TestSyncSynonyms::test_deleted 
[test_sync_synonym.py](http://test_sync_synonym.py/)::TestSyncSynonyms::test_updated 

======================== 3 warnings, 4 errors in 3.44s =========================
ERROR                 [ 25%]
test setup failed
cls = <class 'test_sync_synonym.TestSyncSynonyms'>

    @classmethod
    def setUpClass(cls):
        """Set up"""
        # todo: #1 run pipeline / prereqs - dependent on fixing _run_make_goal()
        # if not os.path.exists(INPUT_SOURCE_DB):
        #     cls._run_make_goal('../../tests/input/sync_synonym/omim.db')
        # if not os.path.exists(INPUT_MONDO_DB):
        #     cls._run_make_goal('../../tests/input/sync_synonym/mondo.db')
        # if not os.path.exists(INPUT_MONDO_SYNONYMS):
        #     cls._run_make_goal('../../tests/input/sync_synonym/mondo-synonyms-scope-type-xref.tsv')
>       sync_synonyms(
            ontology_db_path=INPUT_SOURCE_DB,
            mondo_synonyms_path=INPUT_MONDO_SYNONYMS,
            mondo_exclusion_configs=INPUT_EXCLUDED_SYNONYMS,
            mondo_mappings_path=INPUT_MAPPINGS,
            onto_synonym_types_path=INPUT_ONTO_SYNONYMS,
            onto_config_path=INPUT_SOURCE_METADATA,
            outpath_added=OUTPUT_ADDED,
            outpath_confirmed=OUTPUT_CONFIRMED,
            # outpath_deleted=OUTPUT_DELETED,
            outpath_updated=OUTPUT_UPDATED,
            combined_outpath_template_str=None
        )

[test_sync_synonym.py](http://test_sync_synonym.py/):77: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ontology_db_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/test_omim.db')
mondo_synonyms_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/mondo-synonyms-scope-type-xref.tsv')
mondo_exclusion_configs = PosixPath('/Users/joeflack4/projects/mondo-ingest/src/ontology/config/mondo-excluded-values.yml')
onto_synonym_types_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/omim-synonyms-scope-type-xref.tsv')
mondo_mappings_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/test_mondo.sssom.tsv')
onto_config_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/src/ontology/metadata/omim.yml')
outpath_added = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.added.robot.tsv')
outpath_confirmed = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.confirmed.robot.tsv')
outpath_updated = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.updated.robot.tsv')
outpath_deleted = None, combined_outpath_template_str = None

    def sync_synonyms(
        ontology_db_path: Union[Path, str], mondo_synonyms_path: Union[Path, str],
        mondo_exclusion_configs: Union[Path, str], onto_synonym_types_path: Union[Path, str],
        mondo_mappings_path: Union[Path, str], onto_config_path: Union[Path, str], outpath_added: Union[Path, str],
        outpath_confirmed: Union[Path, str], outpath_updated: Union[Path, str], outpath_deleted: Union[Path, str] = None,
        combined_outpath_template_str='tmp/synonym_sync_combined_cases_{}.tsv'
    ):
        """Create outputs for syncing synonyms between Mondo and its sources.
    
        todo: update when -deleted is reactivated
        :param outpath_deleted: Optional. This case isn't fully fleshed out yet.
    
        todo: if we decided that this param should stay, set as required CLI/functional param w/ no default value.
        :param combined_outpath_template_str: Creates an additional file concatenating all case files.
    
        todo: possible refactor: labels: Maybe could be done more cleanly and consistently. At first, wanted to add to both
         source_df and mondo_df, but this caused _x and _y cols during joins, or I would have to join on those cols as well.
         So I arbitrarily chose mondo_df. This is fine in all cases but -added, where they're added in a custom way.
        """
        # Read configurations
>       with open(mondo_exclusion_configs, 'r') as stream:
E       FileNotFoundError: [Errno 2] No such file or directory: '/Users/joeflack4/projects/mondo-ingest/src/ontology/config/mondo-excluded-values.yml'

../src/scripts/[sync_synonym.py](http://sync_synonym.py/):223: FileNotFoundError
ERROR             [ 50%]
test setup failed
cls = <class 'test_sync_synonym.TestSyncSynonyms'>

    @classmethod
    def setUpClass(cls):
        """Set up"""
        # todo: #1 run pipeline / prereqs - dependent on fixing _run_make_goal()
        # if not os.path.exists(INPUT_SOURCE_DB):
        #     cls._run_make_goal('../../tests/input/sync_synonym/omim.db')
        # if not os.path.exists(INPUT_MONDO_DB):
        #     cls._run_make_goal('../../tests/input/sync_synonym/mondo.db')
        # if not os.path.exists(INPUT_MONDO_SYNONYMS):
        #     cls._run_make_goal('../../tests/input/sync_synonym/mondo-synonyms-scope-type-xref.tsv')
>       sync_synonyms(
            ontology_db_path=INPUT_SOURCE_DB,
            mondo_synonyms_path=INPUT_MONDO_SYNONYMS,
            mondo_exclusion_configs=INPUT_EXCLUDED_SYNONYMS,
            mondo_mappings_path=INPUT_MAPPINGS,
            onto_synonym_types_path=INPUT_ONTO_SYNONYMS,
            onto_config_path=INPUT_SOURCE_METADATA,
            outpath_added=OUTPUT_ADDED,
            outpath_confirmed=OUTPUT_CONFIRMED,
            # outpath_deleted=OUTPUT_DELETED,
            outpath_updated=OUTPUT_UPDATED,
            combined_outpath_template_str=None
        )

[test_sync_synonym.py](http://test_sync_synonym.py/):77: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ontology_db_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/test_omim.db')
mondo_synonyms_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/mondo-synonyms-scope-type-xref.tsv')
mondo_exclusion_configs = PosixPath('/Users/joeflack4/projects/mondo-ingest/src/ontology/config/mondo-excluded-values.yml')
onto_synonym_types_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/omim-synonyms-scope-type-xref.tsv')
mondo_mappings_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/test_mondo.sssom.tsv')
onto_config_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/src/ontology/metadata/omim.yml')
outpath_added = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.added.robot.tsv')
outpath_confirmed = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.confirmed.robot.tsv')
outpath_updated = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.updated.robot.tsv')
outpath_deleted = None, combined_outpath_template_str = None

    def sync_synonyms(
        ontology_db_path: Union[Path, str], mondo_synonyms_path: Union[Path, str],
        mondo_exclusion_configs: Union[Path, str], onto_synonym_types_path: Union[Path, str],
        mondo_mappings_path: Union[Path, str], onto_config_path: Union[Path, str], outpath_added: Union[Path, str],
        outpath_confirmed: Union[Path, str], outpath_updated: Union[Path, str], outpath_deleted: Union[Path, str] = None,
        combined_outpath_template_str='tmp/synonym_sync_combined_cases_{}.tsv'
    ):
        """Create outputs for syncing synonyms between Mondo and its sources.
    
        todo: update when -deleted is reactivated
        :param outpath_deleted: Optional. This case isn't fully fleshed out yet.
    
        todo: if we decided that this param should stay, set as required CLI/functional param w/ no default value.
        :param combined_outpath_template_str: Creates an additional file concatenating all case files.
    
        todo: possible refactor: labels: Maybe could be done more cleanly and consistently. At first, wanted to add to both
         source_df and mondo_df, but this caused _x and _y cols during joins, or I would have to join on those cols as well.
         So I arbitrarily chose mondo_df. This is fine in all cases but -added, where they're added in a custom way.
        """
        # Read configurations
>       with open(mondo_exclusion_configs, 'r') as stream:
E       FileNotFoundError: [Errno 2] No such file or directory: '/Users/joeflack4/projects/mondo-ingest/src/ontology/config/mondo-excluded-values.yml'

../src/scripts/[sync_synonym.py](http://sync_synonym.py/):223: FileNotFoundError
ERROR               [ 75%]
test setup failed
cls = <class 'test_sync_synonym.TestSyncSynonyms'>

    @classmethod
    def setUpClass(cls):
        """Set up"""
        # todo: #1 run pipeline / prereqs - dependent on fixing _run_make_goal()
        # if not os.path.exists(INPUT_SOURCE_DB):
        #     cls._run_make_goal('../../tests/input/sync_synonym/omim.db')
        # if not os.path.exists(INPUT_MONDO_DB):
        #     cls._run_make_goal('../../tests/input/sync_synonym/mondo.db')
        # if not os.path.exists(INPUT_MONDO_SYNONYMS):
        #     cls._run_make_goal('../../tests/input/sync_synonym/mondo-synonyms-scope-type-xref.tsv')
>       sync_synonyms(
            ontology_db_path=INPUT_SOURCE_DB,
            mondo_synonyms_path=INPUT_MONDO_SYNONYMS,
            mondo_exclusion_configs=INPUT_EXCLUDED_SYNONYMS,
            mondo_mappings_path=INPUT_MAPPINGS,
            onto_synonym_types_path=INPUT_ONTO_SYNONYMS,
            onto_config_path=INPUT_SOURCE_METADATA,
            outpath_added=OUTPUT_ADDED,
            outpath_confirmed=OUTPUT_CONFIRMED,
            # outpath_deleted=OUTPUT_DELETED,
            outpath_updated=OUTPUT_UPDATED,
            combined_outpath_template_str=None
        )

[test_sync_synonym.py](http://test_sync_synonym.py/):77: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ontology_db_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/test_omim.db')
mondo_synonyms_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/mondo-synonyms-scope-type-xref.tsv')
mondo_exclusion_configs = PosixPath('/Users/joeflack4/projects/mondo-ingest/src/ontology/config/mondo-excluded-values.yml')
onto_synonym_types_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/omim-synonyms-scope-type-xref.tsv')
mondo_mappings_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/test_mondo.sssom.tsv')
onto_config_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/src/ontology/metadata/omim.yml')
outpath_added = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.added.robot.tsv')
outpath_confirmed = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.confirmed.robot.tsv')
outpath_updated = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.updated.robot.tsv')
outpath_deleted = None, combined_outpath_template_str = None

    def sync_synonyms(
        ontology_db_path: Union[Path, str], mondo_synonyms_path: Union[Path, str],
        mondo_exclusion_configs: Union[Path, str], onto_synonym_types_path: Union[Path, str],
        mondo_mappings_path: Union[Path, str], onto_config_path: Union[Path, str], outpath_added: Union[Path, str],
        outpath_confirmed: Union[Path, str], outpath_updated: Union[Path, str], outpath_deleted: Union[Path, str] = None,
        combined_outpath_template_str='tmp/synonym_sync_combined_cases_{}.tsv'
    ):
        """Create outputs for syncing synonyms between Mondo and its sources.
    
        todo: update when -deleted is reactivated
        :param outpath_deleted: Optional. This case isn't fully fleshed out yet.
    
        todo: if we decided that this param should stay, set as required CLI/functional param w/ no default value.
        :param combined_outpath_template_str: Creates an additional file concatenating all case files.
    
        todo: possible refactor: labels: Maybe could be done more cleanly and consistently. At first, wanted to add to both
         source_df and mondo_df, but this caused _x and _y cols during joins, or I would have to join on those cols as well.
         So I arbitrarily chose mondo_df. This is fine in all cases but -added, where they're added in a custom way.
        """
        # Read configurations
>       with open(mondo_exclusion_configs, 'r') as stream:
E       FileNotFoundError: [Errno 2] No such file or directory: '/Users/joeflack4/projects/mondo-ingest/src/ontology/config/mondo-excluded-values.yml'

../src/scripts/[sync_synonym.py](http://sync_synonym.py/):223: FileNotFoundError
ERROR               [100%]
test setup failed
cls = <class 'test_sync_synonym.TestSyncSynonyms'>

    @classmethod
    def setUpClass(cls):
        """Set up"""
        # todo: #1 run pipeline / prereqs - dependent on fixing _run_make_goal()
        # if not os.path.exists(INPUT_SOURCE_DB):
        #     cls._run_make_goal('../../tests/input/sync_synonym/omim.db')
        # if not os.path.exists(INPUT_MONDO_DB):
        #     cls._run_make_goal('../../tests/input/sync_synonym/mondo.db')
        # if not os.path.exists(INPUT_MONDO_SYNONYMS):
        #     cls._run_make_goal('../../tests/input/sync_synonym/mondo-synonyms-scope-type-xref.tsv')
>       sync_synonyms(
            ontology_db_path=INPUT_SOURCE_DB,
            mondo_synonyms_path=INPUT_MONDO_SYNONYMS,
            mondo_exclusion_configs=INPUT_EXCLUDED_SYNONYMS,
            mondo_mappings_path=INPUT_MAPPINGS,
            onto_synonym_types_path=INPUT_ONTO_SYNONYMS,
            onto_config_path=INPUT_SOURCE_METADATA,
            outpath_added=OUTPUT_ADDED,
            outpath_confirmed=OUTPUT_CONFIRMED,
            # outpath_deleted=OUTPUT_DELETED,
            outpath_updated=OUTPUT_UPDATED,
            combined_outpath_template_str=None
        )

[test_sync_synonym.py](http://test_sync_synonym.py/):77: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

ontology_db_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/test_omim.db')
mondo_synonyms_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/mondo-synonyms-scope-type-xref.tsv')
mondo_exclusion_configs = PosixPath('/Users/joeflack4/projects/mondo-ingest/src/ontology/config/mondo-excluded-values.yml')
onto_synonym_types_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/omim-synonyms-scope-type-xref.tsv')
mondo_mappings_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/input/sync_synonym/test_mondo.sssom.tsv')
onto_config_path = PosixPath('/Users/joeflack4/projects/mondo-ingest/src/ontology/metadata/omim.yml')
outpath_added = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.added.robot.tsv')
outpath_confirmed = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.confirmed.robot.tsv')
outpath_updated = PosixPath('/Users/joeflack4/projects/mondo-ingest/tests/output/omim.synonyms.updated.robot.tsv')
outpath_deleted = None, combined_outpath_template_str = None

    def sync_synonyms(
        ontology_db_path: Union[Path, str], mondo_synonyms_path: Union[Path, str],
        mondo_exclusion_configs: Union[Path, str], onto_synonym_types_path: Union[Path, str],
        mondo_mappings_path: Union[Path, str], onto_config_path: Union[Path, str], outpath_added: Union[Path, str],
        outpath_confirmed: Union[Path, str], outpath_updated: Union[Path, str], outpath_deleted: Union[Path, str] = None,
        combined_outpath_template_str='tmp/synonym_sync_combined_cases_{}.tsv'
    ):
        """Create outputs for syncing synonyms between Mondo and its sources.
    
        todo: update when -deleted is reactivated
        :param outpath_deleted: Optional. This case isn't fully fleshed out yet.
    
        todo: if we decided that this param should stay, set as required CLI/functional param w/ no default value.
        :param combined_outpath_template_str: Creates an additional file concatenating all case files.
    
        todo: possible refactor: labels: Maybe could be done more cleanly and consistently. At first, wanted to add to both
         source_df and mondo_df, but this caused _x and _y cols during joins, or I would have to join on those cols as well.
         So I arbitrarily chose mondo_df. This is fine in all cases but -added, where they're added in a custom way.
        """
        # Read configurations
>       with open(mondo_exclusion_configs, 'r') as stream:
E       FileNotFoundError: [Errno 2] No such file or directory: '/Users/joeflack4/projects/mondo-ingest/src/ontology/config/mondo-excluded-values.yml'

../src/scripts/[sync_synonym.py](http://sync_synonym.py/):223: FileNotFoundError

Process finished with exit code 1

@joeflack4 joeflack4 self-assigned this Nov 17, 2024
@joeflack4 joeflack4 added bug Something isn't working qc / test labels Nov 17, 2024
@joeflack4 joeflack4 linked a pull request Nov 21, 2024 that will close this issue
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working qc / test
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant