This package allows you to load in a data dictionary and map cuis to defined fields using either the UMLS API or MetaMap API from NLM.
Project description
data-dictionary-cui-mapping
This package allows you to load in a data dictionary and map cuis to defined fields using either the UMLS API or MetaMap API from NLM.
Installation
Use the package manager pip to install data-dictionary-cui-mapping or pip install from the GitHub repo.
pip install data-dictionary-cui-mapping
#pip install git+https://github.com/kevon217/data-dictionary-cui-mapping.git
Usage
# import batch_query_pipeline modules from metamap OR umls package
from data_dictionary_cui_mapping.metamap import batch_query_pipeline as mm_bqp
from data_dictionary_cui_mapping.umls import batch_query_pipeline as umls_bqp
# import helper functions for loading, viewing, composing configurations for pipeline run
from data_dictionary_cui_mapping.utils import helper
from omegaconf import OmegaConf
# import modules to create data dictionary with curated CUIs and check the file for missing mappings
from data_dictionary_cui_mapping.curation import create_dictionary_import_file
from data_dictionary_cui_mapping.curation import check_cuis
# LOAD/EDIT CONFIGURATION FILES
cfg = helper.compose_config.fn(overrides=["custom=de", "apis=config_metamap_api"]) # custom config for MetaMap on data element 'title' column
# cfg = helper.compose_config.fn(overrides=["custom=de", "apis=config_umls_api"]) # custom config for UMLS API on data element 'title' column
# cfg = helper.compose_config.fn(overrides=["custom=pvd", "apis=config_metamap_api"]) # custom config for MetaMap on 'permissible value descriptions' column
# cfg = helper.compose_config.fn(overrides=["custom=pvd", "apis=config_umls_api"]) # custom config for UMLS API on 'permissible value descriptions' column
cfg.apis.user_info.email = '' # enter your email
cfg.apis.user_info.apiKey = '' # enter your api key
print(OmegaConf.to_yaml(cfg))
# STEP-1: RUN BATCH QUERY PIPELINE
df_final_mm = mm_bqp.main(cfg) # run MetaMap batch query pipeline
# df_final_umls = umls_bqp.main(cfg) # run UMLS API batch query pipeline
# MANUAL CURATION STEP IN EXCEL FILE (see curation example in notebooks/examples_files/DE_Step-1_curation_keepCol.xlsx)
# STEP-2: CREATE DATA DICTIONARY IMPORT FILE
cfg = helper.load_config.fn(helper.choose_input_file.fn("Load config file from Step 1"))
create_dictionary_import_file.main(cfg)
# CHECK CURATED CUI MAPPINGS
cfg = helper.load_config.fn(helper.choose_input_file.fn("Load config file from Step 2"))
check_cuis.main(cfg)
Acknowledgements
The MetaMap API code included is from Will J Roger's repository --> https://github.com/lhncbc/skr_web_python_api
Special thanks to Olga Vovk and Henry Ogoe for their guidance, feedback, and testing of this package.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for data_dictionary_cui_mapping-1.0.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03e73f3ba0edf6a091cffbdfb35c5256b3a88ceb672db8ba8a202607e47ff910 |
|
MD5 | c783c5eb3bf9ab3973bc44405d637d3a |
|
BLAKE2b-256 | 4773b93cdb81ce7d9c02ced4994ef25e38a29a980b76450e847acca1327566c9 |
Close
Hashes for data_dictionary_cui_mapping-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e27e41cacaf4804f2421dcd74b86a22775c961263940ac0d43855f5da88c0063 |
|
MD5 | 6d5cc93914d545e22f303a3205fe6caa |
|
BLAKE2b-256 | 04d1861710bf22f57a18e2d83df0bad5539fefc6752ab69546b3ba7bdcdc5ff8 |