monarch-initiative / mondo-ingest

Coordinating the mondo-ingest with external sources
https://monarch-initiative.github.io/mondo-ingest/
6 stars 3 forks source link

Fix tests: Synonym Sync #690

Open joeflack4 opened 1 week ago

joeflack4 commented 1 week ago

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 = @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 = @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 = @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 = @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 ```