biomedical-kg-topological-imbalance
Code to accompany the "Implications of Topological Imbalance for Representation Learning on Biomedical Knowledge Graphs" (Briefings in Bioinformatics, 2022)
https://github.com/astrazeneca/biomedical-kg-topological-imbalance
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.4%) to scientific vocabulary
Keywords
Repository
Code to accompany the "Implications of Topological Imbalance for Representation Learning on Biomedical Knowledge Graphs" (Briefings in Bioinformatics, 2022)
Basic Info
- Host: GitHub
- Owner: AstraZeneca
- License: apache-2.0
- Language: Jupyter Notebook
- Default Branch: master
- Homepage: https://academic.oup.com/bib/article-abstract/23/5/bbac279/6649936
- Size: 48.1 MB
Statistics
- Stars: 17
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 3
Topics
Metadata Files
README.md
Biomedical KG Topological Imbalance
This repository accompanies our paper Implications of Topological Imbalance for Representation Learning on Biomedical Knowledge Graphs and enables replication of the key results.
Notebooks
This repository contains four jupyter notebooks which replicate the key results and figures from the manuscript. The notebooks are:
target_prediction.ipynb: This notebook replicates the primary finding of the work and shows how the degree of genes in Hetionet correlates with their predicted score for association with various diseases.trivial_relations.ipynb: This notebook explores how the presence of other relationship types between a given gene-disease pair can influence the score of the associates relationship.other_models.ipynb: The notebook explores the entity degree to predicted score across three other models: DistMult, RotatE and TransH.other_tasks.ipynb: The notebook explores the entity degree to predicted score across three other tasks: Drug Repositioning, Protein-Protein Interaction and Drug-Target Interaction.
Installation Dependencies
The dependencies required to run the notebooks can be installed as follows:
shell
$ pip install -r requirements.txt
The code relies primarily on the PyKEEN package, which uses PyTorch behind the scenes for gradient computation. If you are planning to retrain the models, instead of using the pretrained weight file provided as part of this repository, it would be advisable to ensure you install a GPU enabled version of PyTorch first. Details on how to do this are provided here.
Model
A pretrained version of the TransE model is provided in the artifacts directory. This version is automatically used in the notebooks.
Due to the size of weight files for the other models used in the study, they were unable to be included in main repository. However, the files are available for download as part of the release of the repository here. Once the files have been downloaded, please place them in the artifacts directory if you wish to use them.
Note that the code is provided to retrain any of the models in the train.py file in the src directory.
Citation
Please consider citing the paper for this repo if you find it useful:
@article{bonner2022implications,
author = {Bonner, Stephen and Kirik, Ufuk and Engkvist, Ola and Tang, Jian and Barrett, Ian P},
title = {Implications of topological imbalance for representation learning on biomedical knowledge graphs},
journal = {Briefings in Bioinformatics},
year = {2022},
month = {07},
doi = {10.1093/bib/bbac279},
}
License
Owner
- Name: AstraZeneca
- Login: AstraZeneca
- Kind: organization
- Location: Global
- Website: https://www.astrazeneca.com/
- Repositories: 33
- Profile: https://github.com/AstraZeneca
Data and AI: Unlocking new science insights
Citation (CITATION.bib)
@article{bonner2022implications,
author = {Bonner, Stephen and Kirik, Ufuk and Engkvist, Ola and Tang, Jian and Barrett, Ian P},
title = {Implications of topological imbalance for representation learning on biomedical knowledge graphs},
journal = {Briefings in Bioinformatics},
year = {2022},
month = {07},
doi = {10.1093/bib/bbac279},
}
GitHub Events
Total
- Watch event: 1
- Delete event: 7
- Push event: 2
- Pull request event: 12
- Create event: 6
Last Year
- Watch event: 1
- Delete event: 7
- Push event: 2
- Pull request event: 12
- Create event: 6
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 38
- Average time to close issues: N/A
- Average time to close pull requests: 7 days
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 38
- Bot issues: 0
- Bot pull requests: 37
Past Year
- Issues: 0
- Pull requests: 9
- Average time to close issues: N/A
- Average time to close pull requests: 12 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 9
Top Authors
Issue Authors
Pull Request Authors
- dependabot[bot] (53)
- sbonner0 (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- Jinja2 ==3.0.3
- Mako ==1.1.6
- MarkupSafe ==2.0.1
- Pillow ==9.0.1
- PyYAML ==6.0
- Pygments ==2.11.2
- SQLAlchemy ==1.4.31
- Send2Trash ==1.8.0
- alembic ==1.7.6
- appnope ==0.1.2
- argon2-cffi ==21.3.0
- argon2-cffi-bindings ==21.2.0
- asttokens ==2.0.5
- attrs ==21.4.0
- autopage ==0.5.0
- backcall ==0.2.0
- black ==22.1.0
- bleach ==4.1.0
- certifi ==2021.10.8
- cffi ==1.15.0
- charset-normalizer ==2.0.12
- class-resolver ==0.3.3
- click ==8.0.3
- click-default-group ==1.2.2
- cliff ==3.10.0
- cmaes ==0.8.2
- cmd2 ==2.3.3
- colorlog ==6.6.0
- cycler ==0.11.0
- dataclasses-json ==0.5.6
- debugpy ==1.5.1
- decorator ==5.1.1
- defusedxml ==0.7.1
- docdata ==0.0.3
- entrypoints ==0.4
- executing ==0.8.2
- fonttools ==4.29.1
- greenlet ==1.1.2
- idna ==3.3
- ipykernel ==6.9.1
- ipython ==8.0.1
- ipython-genutils ==0.2.0
- jedi ==0.18.1
- joblib ==1.1.0
- jsonschema ==4.4.0
- jupyter-client ==7.1.2
- jupyter-core ==4.9.2
- jupyterlab-pygments ==0.1.2
- kiwisolver ==1.3.2
- marshmallow ==3.14.1
- marshmallow-enum ==1.5.1
- matplotlib ==3.5.1
- matplotlib-inline ==0.1.3
- mistune ==0.8.4
- more-click ==0.0.6
- more-itertools ==8.12.0
- mypy-extensions ==0.4.3
- nbclient ==0.5.11
- nbconvert ==6.4.2
- nbformat ==5.1.3
- nest-asyncio ==1.5.4
- networkx ==2.6.3
- notebook ==6.4.12
- numpy ==1.22.2
- optuna ==2.10.0
- packaging ==21.3
- pandas ==1.3.5
- pandocfilters ==1.5.0
- parso ==0.8.3
- pathspec ==0.9.0
- pbr ==5.8.1
- pexpect ==4.8.0
- pickleshare ==0.7.5
- platformdirs ==2.5.0
- prettytable ==3.1.1
- prometheus-client ==0.13.1
- prompt-toolkit ==3.0.28
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- pycparser ==2.21
- pyparsing ==3.0.7
- pyperclip ==1.8.2
- pyrsistent ==0.18.1
- pystow ==0.4.0
- python-dateutil ==2.8.2
- pytz ==2021.3
- pyzmq ==22.3.0
- requests ==2.27.1
- rexmex ==0.1.0
- scikit-learn ==1.0.2
- scipy ==1.8.0
- seaborn ==0.11.2
- six ==1.16.0
- sklearn ==0.0
- stack-data ==0.2.0
- stevedore ==3.5.0
- tabulate ==0.8.9
- terminado ==0.13.1
- testpath ==0.5.0
- threadpoolctl ==3.1.0
- tokenize-rt ==4.2.1
- tomli ==2.0.1
- torch ==1.10.2
- tornado ==6.1
- tqdm ==4.62.3
- traitlets ==5.1.1
- typing-inspect ==0.7.1
- typing_extensions ==4.1.1
- urllib3 ==1.26.8
- wcwidth ==0.2.5
- webencodings ==0.5.1